CodeKitHub
JSON-Tools

CSV-zu-XML-Konverter

Zuletzt aktualisiert:

Bei der Konvertierung von CSV in XML wird jede Zeile zu einem <row>-Element und jede Spalte zu einem nach ihrer Kopfzeile benannten Kind-Tag – die umgekehrte Konvertierung extrahiert eine Spalte pro eindeutigem Kind-Tag-Namen, der im XML gefunden wird. Jede CSV-Zeile wird zu einem <row>-Element mit einem Kind-Tag pro Spalte; die XML-Eingabe wird mit dem browsereigenen XML-Parser zurück in Spalten zerlegt. Alles läuft lokal ab, sodass Ihre Daten Ihr Gerät nie verlassen.

Was ist dieses Tool?

Manche Systeme (ältere Unternehmenssoftware, bestimmte SOAP-basierte APIs, RSS-nahe Feeds) erwarten Daten als XML, während Tabellenkalkulationen und die meisten Datenimport-Tools CSV erwarten. Dieses Tool bewegt Daten zwischen beiden Formaten: CSV → XML umschließt jede Zeile mit einem <row>-Element innerhalb eines Wurzelelements <rows>, wobei jede Spalte zu einem nach der Kopfzeile benannten Kind-Tag wird; XML → CSV macht das Gegenteil und extrahiert eine Spalte pro gefundenem eindeutigen Kind-Tag-Namen.

Die CSV-Seite wird mit einem geeigneten Parser für zitierte Felder analysiert (keine simple Trennung an Kommas), sodass Werte mit Kommas, Zeilenumbrüchen oder eingebetteten Anführungszeichen korrekt behandelt werden. Die XML-Seite wird mit der nativen DOMParser-API des Browsers analysiert – derselben Schnittstelle, die Browser intern zum Parsen von XML-Dokumenten verwenden – statt mit einem handgeschriebenen, regex-basierten Reader, sodass verschachtelte Tags und standardmäßiges XML-Escaping so behandelt werden, wie es ein echter XML-Parser tun würde.

Spalten-/Tag-Namen, die keine gültigen XML-Elementnamen sind (mit Leerzeichen, beginnend mit einer Ziffer usw.), werden beim Generieren von XML automatisch bereinigt, da XML-Elementnamen strengeren Regeln unterliegen als CSV-Kopfzeilen.

Quelle: Das CSV-Parsing folgt RFC 4180; die XML-Struktur folgt der W3C-XML-1.0-Spezifikation.

Warum sollte man es nutzen?

  • Funktioniert in beide Richtungen – CSV zu XML und XML zu CSV, in einem Tool.
  • Korrekte CSV-Analyse – behandelt zitierte Felder mit Kommas, Zeilenumbrüchen und maskierten Anführungszeichen, nicht nur eine simple Trennung an Kommas.
  • Standardbasiertes XML-Parsing – XML → CSV nutzt den browsereigenen DOMParser statt eines benutzerdefinierten Regex-Parsers, sodass fehlerhaftes XML als Fehler gemeldet wird, statt still und leise Datenmüll zu erzeugen.
  • Automatisches XML-Escaping – Sonderzeichen wie & und < in Ihren CSV-Werten werden beim Generieren von XML korrekt maskiert.
  • 100 % clientseitig – nichts, was Sie hier einfügen, wird an einen Server hochgeladen.

Anleitung

  1. Fügen Sie CSV-Daten (mit Kopfzeile) oder XML-Daten in das Feld ein.
  2. Klicken Sie auf „CSV → XML“, um XML zu erzeugen, oder auf „XML → CSV“, um XML zurück in eine Tabelle zu konvertieren.
  3. Überprüfen Sie die Ausgabe – kopieren Sie sie oder laden Sie sie als Datei herunter.
  4. Bei CSV → XML wird jede Zeile zu einem <row>-Element mit einem Tag pro Spalte, umschlossen von einer <rows>-Wurzel.

Beispiel

Eingabe

name,age
Alice,30
Bob,25

Ausgabe

<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <name>Alice</name>
    <age>30</age>
  </row>
  <row>
    <name>Bob</name>
    <age>25</age>
  </row>
</rows>

Jede CSV-Zeile wird zu einem <row>-Element, und jede Spalte zu einem nach der Kopfzeile benannten Kind-Tag – dieses XML wieder durch „XML → CSV“ zu schicken, rekonstruiert die ursprüngliche zweispaltige Tabelle.

Praktische Tipps

  • Ein Legacy-System oder eine SOAP-API füttern, die XML erwartet: Konvertieren Sie Ihren CSV-Export zunächst hier, und fügen Sie die XML-Ausgabe dann direkt in das Zielsystem ein.
  • Einen erhaltenen XML-Export prüfen: Führen Sie XML → CSV aus, um schnell eine gut lesbare Tabellenansicht zu erhalten, ohne einen vollständigen XML-Editor zu benötigen.
  • Wenn Ihr XML tief verschachtelte Elemente statt einer flachen <row><spalte>-Struktur verwendet, wird dieses Tool beliebige Verschachtelungen nicht auflösen – es erwartet eine Ebene von Zeilenelementen, die jeweils einfache Spaltenelemente enthalten.

Warum DOMParser statt eines handgeschriebenen XML-Readers

XML hat echte strukturelle Regeln – verschachtelte Elemente, Anführungszeichen bei Attributen, Zeichen-Escaping für &, <, > und so weiter –, die ein schneller, regex-basierter Parser bei allem außer den einfachsten Eingaben tendenziell subtil falsch macht. Die Verwendung der nativen DOMParser-API des Browsers bedeutet, dass dieses Tool auf dieselbe standardkonforme XML-Engine setzt, die der Browser selbst zur Darstellung von XML-Dokumenten verwendet, statt das XML-Parsing von Grund auf neu zu implementieren. Es bedeutet auch, dass fehlerhaftes XML – ein nicht geschlossenes Tag, eine verirrte spitze Klammer – als klarer Parsing-Fehler zutage tritt, statt still ein beschädigtes oder unvollständiges CSV zu erzeugen.

Häufig gestellte Fragen

Werden CSV-Werte mit Kommas oder Anführungszeichen korrekt behandelt?

Ja. Der CSV-Parser ist ein echter Zustandsautomat-Parser, der verfolgt, ob er sich innerhalb eines zitierten Feldes befindet, sodass Kommas und Zeilenumbrüche innerhalb von Anführungszeichen (z. B. „Smith, John“) sowie verdoppelte Anführungszeichen zur Maskierung eines wörtlichen Anführungszeichens alle korrekt behandelt werden – er trennt nicht einfach bei jedem Komma.

Wie wird das XML geparst – ist das ein benutzerdefinierter Regex-Parser?

Nein. XML → CSV nutzt die native DOMParser-API des Browsers, um das XML in einen echten Dokumentbaum zu parsen, genauso wie der Browser jedes XML-Dokument parst. Das bedeutet, dass fehlerhaftes XML erkannt und als Fehler gemeldet wird, statt still eine fehlerhafte Ausgabe zu erzeugen, wie es ein handgeschriebener Regex-Parser tun könnte.

Was passiert mit Spaltennamen, die keine gültigen XML-Tags sind?

Alles, was kein Buchstabe, keine Ziffer, kein Unterstrich, Bindestrich oder Punkt ist, wird durch einen Unterstrich ersetzt, und ein führender Unterstrich wird hinzugefügt, falls der Name sonst mit einer Ziffer oder einem Satzzeichen beginnen würde – da XML-Elementnamen nicht mit einer Zahl beginnen oder Leerzeichen enthalten dürfen, wie es eine CSV-Kopfzeile kann.

Werden meine Daten an einen Server hochgeladen?

Nein. Beide Konvertierungsrichtungen laufen vollständig als JavaScript in Ihrem Browser ab, unter Nutzung der eigenen XML-Parsing-Engine des Browsers – es wird nichts irgendwohin gesendet, was die Nutzung mit exportierten Geschäfts- oder Kundendaten sicher macht.

Erhalte ich bei CSV → XML → CSV genau das zurück, womit ich angefangen habe?

Bei wohlgeformtem CSV mit einer konsistenten Spaltenmenge, ja – der Hin- und Rückweg bewahrt die Werte. Hatte Ihr ursprüngliches CSV inkonsistente Spalten über die Zeilen hinweg oder ungewöhnliche Zeichen in den Kopfzeilennamen, bedeuten die bereinigten Tag-Namen, dass die exakte Schreibweise der Kopfzeile möglicherweise nicht perfekt erhalten bleibt, die Datenwerte jedoch schon.

Verwandte Tools