- Startseite
- Blog
- CSV in XML umwandeln (auch aus Excel und Google Sheets)
CSV in XML umwandeln (auch aus Excel und Google Sheets)
Die meisten Daten beginnen in einer Tabelle: Produktlisten, Preislisten, Kontakte, Bestellungen. Viele Systeme, etwa Shop- und ERP-Importe, Produktfeeds, Redaktionssysteme und ältere Unternehmenssoftware, erwarten aber XML. Die Tabelle als CSV und die CSV als XML zu speichern, schließt die Lücke, ohne etwas neu abzutippen.
Diese Anleitung zeigt, wie das mit dem kostenlosen Konverter CSV in XML geht, welche Optionen du wählen solltest und wie du die CSV-Probleme vermeidest, an denen Umwandlungen am häufigsten scheitern.
Was die Umwandlung macht
Jede Zeile wird ein Datensatz-Element, jede Spalte ein Feld darin, alles in einem einzigen Wurzelelement:
id,title,author,price,in stock
bk101,"XML & JSON for Everyone",Ada Lovelace,29.95,true
bk102,Daten für alle,Alan Turing,24.50,false<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<id>bk101</id>
<title>XML & JSON for Everyone</title>
<author>Ada Lovelace</author>
<price>29.95</price>
<in_stock>true</in_stock>
</book>
<book>
<id>bk102</id>
<title>Daten für alle</title>
<author>Alan Turing</author>
<price>24.50</price>
<in_stock>false</in_stock>
</book>
</books>Die Spaltenüberschriften werden zu den Elementnamen. Das & im ersten Titel wird als & maskiert, das Komma im Titel in Anführungszeichen bleibt Teil des Werts, und die Überschrift „in stock“, die wegen des Leerzeichens kein XML-Name sein kann, wird zu in_stock. Ein Hinweis unter dem Ergebnis listet jeden geänderten Namen auf.
CSV in XML umwandeln, Schritt für Schritt
- Öffne CSV in XML und füge deine CSV in CSV-Eingabe ein, klicke auf Datei öffnen oder zieh eine .csv-Datei in das Feld. Beispiel lädt drei Bücher wie die oben.
- Prüfe die Zeile unter dem Feld, etwa ✓ CSV mit 5 Spalten und 3 Zeilen. Stimmen die Zahlen nicht, liegt es meist am Trennzeichen oder an Anführungszeichen (siehe unten).
- Benenne das Wurzelelement und das Datensatz-Element und wähle unter Werte als, wie die Werte geschrieben werden.
- Klicke auf In XML umwandeln und lade die .xml-Datei herunter oder kopiere sie.
Gute Elementnamen wählen
Voreingestellt sind records und record, aber Namen, die deine Daten beschreiben, sind angenehmer: books und book, products und product, contacts und contact. Üblich ist eine Wurzel im Plural mit Datensätzen im Singular. Erwartet das Zielsystem bestimmte Namen, nimm genau diese, einschließlich Groß- und Kleinschreibung.
XML-Namen dürfen Buchstaben, Ziffern, -, _ und . enthalten, müssen mit einem Buchstaben oder _ beginnen und dürfen keine Leerzeichen haben. Der Konverter sagt dir, wenn ein eingegebener Name nicht geht.
Für Spaltenüberschriften gelten dieselben Regeln, sie werden daher automatisch angepasst: Leerzeichen und andere Zeichen werden zu _, und eine Überschrift, die mit einer Ziffer beginnt, bekommt ein _ davor. Willst du bestimmte Namen, benenne die Spalten vorher in der Tabelle um. Ohne Haken bei Erste Zeile enthält Spaltennamen heißen die Spalten einfach column1, column2 usw.
Kindelemente oder Attribute?
Mit Werte als auf Attribute werden dieselben zwei Zeilen zu je einem kompakten Element:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="bk101" title="XML & JSON for Everyone" author="Ada Lovelace" price="29.95" in_stock="true"/>
<book id="bk102" title="Daten für alle" author="Alan Turing" price="24.50" in_stock="false"/>
</books>Kindelemente (Standard) sind am gebräuchlichsten, gut lesbar und passen zu langen Texten. Attribute ergeben kürzere Dateien und werden von manchen Importen und Konfigurationsformaten erwartet. Im Zweifel sieh dir eine Beispieldatei des Zielsystems an.
Leere Zellen
Standardmäßig bleibt eine leere Zelle als leeres Element erhalten, damit jeder Datensatz dieselben Felder hat:
<contact>
<id>1</id>
<name>Ada</name>
<phone/>
</contact>Hake Leere Zellen weglassen an, um sie zu überspringen:
<contact>
<id>1</id>
<name>Ada</name>
</contact>Behalte sie, wenn das Zielsystem jedes Feld erwartet; lass sie weg für kleinere Dateien, wenn ein fehlendes Feld „nicht gesetzt“ bedeutet.
CSV-Probleme vermeiden
- Trennzeichen: Automatisch erkennt Kommas, Semikolons, Tabulatoren und senkrechte Striche. Tabellen speichern CSV in Deutschland meist mit Semikolon; das wird ebenfalls erkannt.
- Anführungszeichen: Ein Wert mit Trennzeichen, Anführungszeichen oder Zeilenumbruch muss in doppelten Anführungszeichen stehen, innere Anführungszeichen verdoppelt (
"Er sagte ""hallo"""). Excel und Google Sheets erledigen das für dich. Ein nie geschlossenes Anführungszeichen wird mit Zeile und Spalte gemeldet. - Umlaute: Speichere in Excel als CSV UTF-8 (durch Trennzeichen getrennt), damit Buchstaben wie ü und é erhalten bleiben. In Google Sheets ist Datei › Herunterladen › Kommagetrennte Werte bereits UTF-8.
- Ungleiche Zeilen: Haben manche Zeilen weniger Werte als Spalten, werden die fehlenden leer geschrieben, und ein Hinweis sagt, wie viele Zeilen betroffen sind.
Gut zu wissen
Werte werden genau so übernommen, wie sie in der CSV stehen: 24.50 bleibt 24.50 und 007 behält seine Nullen. Jede Zeile wird ein flacher Datensatz; brauchst du verschachteltes XML, etwa eine Adresse innerhalb eines Kunden, erstelle es aus JSON mit JSON in XML.
Weitere XML-Tools
- XML-Formatierer: das Ergebnis prüfen oder in der Baumansicht erkunden.
- XML-Validator: gegen das XSD-Schema des Zielsystems prüfen.
- XML in CSV: der umgekehrte Weg. Siehe auch JSON in CSV umwandeln.
Wird meine CSV hochgeladen?
Nein. Die Umwandlung läuft in deinem Browser, deine Daten verlassen also nie dein Gerät. Unser Server speichert nur, dass eine Umwandlung stattfand, für das Tageslimit.
Häufige Fragen
Wie wandle ich eine Excel-Datei in XML um?
Speichere die Tabelle als CSV (Datei › Speichern unter › CSV UTF-8), öffne diese Datei in CSV in XML und wandle sie um.
Kann ich das XML zurück in CSV umwandeln?
Ja, mit XML in CSV. Es findet das wiederholte Datensatz-Element und macht aus jedem eine Zeile.
Warum wurde eine Spalte umbenannt?
Ihre Überschrift enthielt ein Leerzeichen oder ein anderes Zeichen, das in XML-Namen nicht erlaubt ist, oder begann mit einer Ziffer. Der Hinweis unter dem Ergebnis zeigt den alten und den neuen Namen.