CSV in XML umwandeln

Läuft auf Ihrem Gerät · Ihre Datei verlässt nie Ihr Gerät.

Legen Sie eine CSV ab oder fügen Sie sie ein und erhalten Sie ein XML-Dokument mit einem <root>-Element, einem <item>-Element pro Zeile und einem Kindelement pro Spalte, benannt nach der Kopfzeile. Der Trenner wird automatisch erkannt (Komma, Semikolon, Tabulator, senkrechter Strich), Felder in Anführungszeichen werden nach RFC 4180 verstanden, und eine UTF-8-Byte-Order-Marke wird entfernt.

Spaltennamen, die XML nicht als Elementnamen zulässt – mit Leerzeichen, Sonderzeichen oder einer Ziffer am Anfang – werden mit Unterstrichen bereinigt („Preis netto“ wird zu Preis_netto), sodass die Ausgabe immer wohlgeformt ist. Die Werte stehen als Text in den Elementen; es gibt keine Attribute, was das Dokument für jeden Parser einfach hält.

Sie sehen die ersten 200 Zeilen vor dem Herunterladen, und die Umwandlung passiert vollständig auf Ihrem Gerät.

So geht’s: CSV in XML umwandeln

  1. Legen Sie eine CSV-Datei ab oder fügen Sie den CSV-Text ein.
  2. Lassen Sie den Trenner auf „Automatisch erkennen“ oder wählen Sie ihn.
  3. Klicken Sie auf „In XML umwandeln“ und prüfen Sie die Vorschau.
  4. Laden Sie die .xml herunter.

Unterstützte Formate und Grenzen

Eingabe
CSV / TSV – Datei oder eingefügter Text
Ausgabe
XML 1.0, UTF-8, <root><item>…</item></root>
Einlesen
RFC 4180; Trenner automatisch erkannt
Namen
Spaltennamen zu gültigen Elementnamen bereinigt
Wo es läuft
Im Browser – ohne Upload

Nicht geeignet für: Ein schemagebundenes XML erzeugen (Bank-, Steuer- oder Shop-Format) – die Elementnamen kommen aus Ihrer Kopfzeile, nicht aus einem Schema.

Werte werden genau so geschrieben wie in der CSV

XML hält jeden Wert als Text; es bringt also nichts, Zahlen oder true und false zu erkennen, und diese Seite bietet es auch nicht an. Jeder Wert wird geschrieben, wie er in der CSV steht: 1.50 bleibt 1.50, 1e3 bleibt 1e3, TRUE bleibt TRUE, und das Wort NULL bleibt NULL. Eine leere Zelle ergibt ein leeres Element wie <note/>, und führende Nullen wie in 007 bleiben erhalten.

Wie aus Spaltennamen Elementnamen werden

Doppelte und leere Spaltennamen werden zuerst bereinigt: Zwei Spalten namens name werden zu <name> und <name_2>, und eine leere dritte Spaltenüberschrift wird zu <column_3>. Dann wird jeder Name für XML zulässig gemacht. Aus Summe (EUR) wird Summe__EUR_, weil Leerzeichen und Klammern zu Unterstrichen werden, und aus 2024 wird _2024. Bindestrich und Punkt sind erlaubt: e-mail bleibt e-mail, und address.city bleibt ein Element mit genau diesem Namen; es wird nicht in verschachtelte Elemente aufgeteilt. Spaltennamen in jeder Schrift, etwa Arabisch oder Chinesisch, bleiben, wie sie sind.

Zwei Spaltennamen, die am Ende gleich lauten, etwa "a b" und "a_b", werden beide als <a_b> in jedes <item> geschrieben. Ein Programm, das Elemente nach Namen liest, sieht dann womöglich nur das erste; benennen Sie deshalb vorher eine der beiden Spalten in der CSV um.

Wie die CSV gelesen wird

Der Text wird nach denselben Regeln gelesen wie bei /csv-to-json, wo sie mit Beispielen erklärt sind: wie Anführungszeichen funktionieren, wie der Trenner gefunden wird, wie die Kodierung der Datei erkannt wird und was mit einer Zeile geschieht, die mehr oder weniger Zellen hat als die Kopfzeile. Im XML wird eine fehlende Zelle zu einem leeren Element. Zellen jenseits der letzten Spaltenüberschrift haben keinen Elementnamen und werden deshalb weggelassen; eine Meldung sagt, bei wie vielen Zeilen das der Fall war und wo die erste steht.

Die Namen <root> und <item> sind fest. Erwartet ein System andere Namen, etwa <kunden> und <kunde>, ersetzen Sie sie nach dem Herunterladen in einem Texteditor; sonst muss sich an der Struktur nichts ändern.

Häufige Fragen

Werden meine Dateien auf einen Server hochgeladen?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser, mit der Rechenleistung Ihres eigenen Geräts. Die Datei verlässt Ihren Computer oder Ihr Handy nicht. Und wurde ein Werkzeug einmal benutzt, funktioniert es auch ohne Internetverbindung weiter (Video, Texterkennung und Hintergrundentfernung laden ihre Engine beim ersten Mal von dieser Website).
Wie sieht die XML-Struktur aus?
Eine XML-Deklaration, dann <root>, dann für jede Zeile ein <item> mit einem Element pro Spalte: <item><name>Anna</name><stadt>Köln</stadt></item>. Das Zeilenelement heißt immer item.
Meine Spaltennamen enthalten Leerzeichen – ist das ein Problem?
Nein. Die Namen werden auf das bereinigt, was XML erlaubt: Leerzeichen und Sonderzeichen werden zu Unterstrichen, eine Ziffer am Anfang bekommt einen Unterstrich davor. Der Rest des Namens bleibt unverändert.
Erkennt das Werkzeug den Trenner?
Ja – Komma, Semikolon, Tabulator und senkrechter Strich werden an den ersten Zeilen ausprobiert, der konsistente gewinnt. Sie können ihn auch fest vorgeben.

Ähnliche Werkzeuge

Mehr in Tabellen und Daten

Diese Seite in anderen Sprachen: English · العربية · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা