Kostenloser XML-zu-CSV-Konverter
Konvertieren Sie XML-Daten ins CSV-Format mit automatischer Erkennung.
Anleitung
- Fügen Sie Ihre XML-Daten in das linke Textfeld ein oder geben Sie sie ein.
- Das Tool erkennt automatisch wiederkehrende Elemente und flacht verschachtelte Strukturen ab.
- Sehen Sie eine Vorschau Ihrer Daten rechts. Klicken Sie auf CSV herunterladen, um die konvertierte Datei zu speichern.
Häufig gestellte Fragen
Wie werden verschachtelte Elemente behandelt?
Verschachtelte Elemente werden mit Punkt-Notation abgeflacht. Beispielsweise wird „person.address.city" zu einer einzelnen Spaltenüberschrift.
Was, wenn Elemente unterschiedliche Anzahlen von Kindern haben?
Fehlende Werte werden in der CSV-Ausgabe leer gelassen. Alle Spaltenüberschriften bleiben erhalten, auch wenn einige Zeilen bestimmte Werte nicht haben.
Wie erkennt das Tool wiederkehrende Elemente?
Das Tool identifiziert automatisch den am häufigsten wiederkehrenden Element-Typ in Ihrem XML und verwendet ihn als Zeilenquelle.
Warum die XML-zu-CSV-Konvertierung so oft vorkommt
XML ist ausführlich und hierarchisch; CSV ist flach und dicht. Viele nützliche reale Daten liegen in XML vor, sitemap.xml, RSS-/Atom-Feeds, WordPress-Exportdateien, Apple-plist-Konfigurationen, Maven-Abhängigkeitslisten in pom.xml, GPS-Tracks (GPX), Google-Earth-Ortsmarken (KML), Kontoauszugsformate (CAMT.053, MT940 in XML-Form), E-Commerce-Produktfeeds, HL7 v3 im Gesundheitswesen, Finanzberichte in XBRL, Notenblätter in MusicXML, und fast nichts davon lässt sich analysieren, ohne zuvor in Zeilen abgeflacht zu werden. Excel, Google Sheets, SQL-LOAD DATA, Pandas, R, Tableau, Power BI verarbeiten alle CSV von Haus aus; Ihr XML in eines dieser Werkzeuge zu bringen bedeutet, zuerst zu konvertieren.
Die grundlegende Diskrepanz
XML erlaubt beliebige Verschachtelung; CSV ist zweidimensional. Es gibt keine allgemeingültige verlustfreie XML→CSV-Zuordnung. Jeder Konverter muss Annahmen treffen, welche Ebene des Baums „Zeilen“ darstellt und wie mit tieferer Verschachtelung umzugehen ist. Die zwei gängigen Formen:
- Format mit sich wiederholenden Datensätzen (der einfache Fall). Ein Wurzelelement, das viele Kindelemente enthält, jedes mit derselben Form.
<catalog><book>…</book><book>…</book></catalog>. Jedes<book>wird zu einer Zeile; seine Blattelemente werden zu Spalten. Danach sucht der Konverter und behandelt es sauber. - Dokumentformat mit gemischtem Inhalt. Fließtext mit eingebettetem Markup, wie XHTML oder DocBook. Dafür gibt es keine saubere CSV-Zuordnung, meist als einzelne String-Zelle serialisiert oder abgelehnt.
Das Werkzeug erkennt das sich wiederholende Element automatisch, indem es das häufigste direkte Kindelement der Wurzel findet, was für ~90 % der echten XML-Feeds korrekt ist. Wenn Ihr XML nicht zu diesem Muster passt, verarbeiten Sie es zuerst mit einem schnellen XPath-Skript vor oder bearbeiten Sie es von Hand auf eine Form mit sich wiederholenden Datensätzen herunter.
Gängige XML-Feeds, die sich gut konvertieren lassen
- sitemap.xml: Jeder
<url>-Eintrag wird zu einer Zeile mit den Spaltenloc,lastmod,changefreq,priority. Nützlich für SEO-Audits und Inhaltsinventare. - RSS-/Atom-Feeds: Jedes
<item>oder<entry>wird zu einer Zeile. Nützlich für die Analyse von Content-Marketing oder die Migration zu einer anderen Plattform. - WordPress-Export-XML (WXR):
<item>-Tags für Beiträge, Seiten, Anhänge. Häufig bei der Migration zu Substack, Ghost oder Static-Site-Generatoren. - GPX (GPS Exchange Format),
<trkpt>-Trackpunkte mitlat,lon,ele,timewerden zu Zeilen. Nützlich für die Routenanalyse. - KML (Google Earth),
<Placemark>-Einträge mit Namen, Beschreibungen, Koordinaten. - iTunes- / Apple-plist-XML in Form sich wiederholender Datensätze, Playlist-Einträge, App-Metadaten.
- OFX- / QFX- / CAMT-Kontoauszugs-XML: Transaktionen werden zu Zeilen für Buchhaltungsimporte.
- Produktkatalog-Feeds: Viele E-Commerce-Plattformen liefern XML-Feeds mit sich wiederholenden
<product>-Elementen für CSE-Übermittlungen.
Wie Attribute, Verschachtelung und wiederholte Kindelemente behandelt werden
- Attribute wie
<book id="42">werden in Spalten abgeflacht. Der Konverter verwendet den Attributnamen direkt als Spaltenüberschrift (id), wenn er eindeutig ist. - Verschachtelte Elemente werden mit Punktnotation abgeflacht:
<person><address><street>Main</street><city>NYC</city></address></person>erzeugt die Spaltenaddress.streetundaddress.city. Das ist dieselbe Konvention, die Pandas'json_normalizefür verschachteltes JSON verwendet. - Wiederholte Kindelemente wie
<tags><tag>a</tag><tag>b</tag></tags>können ein Problem sein: Es gibt keine offensichtliche flache Darstellung. Verarbeiten Sie vor, wenn Sie eine Ausgabe mit einer Spalte pro Tag oder einer Zeile pro Tag benötigen. - Die fünf vordefinierten Entitätsreferenzen (
&,<,>,',") werden bei der Konvertierung entschlüsselt, sodass ausTom & Jerryin XMLTom & Jerryin der CSV-Zelle wird. - CDATA-Abschnitte werden ausgepackt, der Inhalt wird unverändert zum Zellenwert.
- Kommentare und Verarbeitungsanweisungen werden verworfen; CSV hat kein Äquivalent.
Kodierung: die Excel-Falle
XML deklariert seine Kodierung über <?xml version="1.0" encoding="UTF-8"?>. CSV hat keine Kodierungsdeklaration; der Verbraucher rät. Excel unter Windows verwendet standardmäßig Windows-1252, sodass das Öffnen einer UTF-8-CSV ohne Byte Order Mark Mojibake anzeigt (é wird zu é, ü wird zu ü). Die Lösung: Speichern Sie die CSV entweder mit einem UTF-8-BOM () am Anfang, verwenden Sie den Importassistenten Daten → Aus Text/CSV von Excel und wählen Sie ausdrücklich UTF-8, oder öffnen Sie die Datei in Google Sheets, das UTF-8 ohne BOM korrekt verarbeitet.
Wahl des Trennzeichens
Gemäß RFC 4180 ist das kanonische CSV-Trennzeichen das Komma. Das Werkzeug unterstützt auch Semikolon, Tabulator und senkrechten Strich, wählen Sie das, das zu Ihrem Publikum passt:
- Komma: der Standard. Excel liest es, wenn die Regionseinstellung des Betriebssystems Englisch ist. Sicher für die meisten Anwendungsfälle.
- Semikolon: bevorzugt in Kontinentaleuropa und Lateinamerika, wo das Komma das Dezimaltrennzeichen ist. Excel verwendet das Listentrennzeichen des Betriebssystems, sodass ein Excel mit französischer oder deutscher Locale semikolongetrennte CSV erzeugt.
- Tabulator: nützlich, wenn Felder Kommas enthalten (Adressen, Freitext). Verbreitet bei wissenschaftlichen Daten.
- Senkrechter Strich: greift auf ein Trennzeichen zurück, das in natürlichen Daten selten ist. Wird in einigen veralteten Unternehmenssystemen verwendet, in denen die Daten Kommas, Semikolons UND Tabulatoren enthalten können.
Gemäß RFC 4180 werden Felder, die das gewählte Trennzeichen, Zeilenumbrüche oder Anführungszeichen enthalten, automatisch in Anführungszeichen eingeschlossen; eingebettete Anführungszeichen werden durch Verdopplung maskiert. Dieselben Anführungsregeln gelten unabhängig davon, welches Trennzeichen Sie wählen.
Datenschutz
XML-Nutzdaten enthalten oft vertrauliche Informationen: Kontoauszugstransaktionen, interne Mitarbeiterdaten, abgegriffene Sitemaps, die interne URLs offenlegen, Gesundheitsakten, durch Geheimhaltungsvereinbarungen geschützte Produktkataloge. Der im Browser eingebaute DOMParser läuft vollständig in Ihrem Tab, es gibt keine Netzwerkanfrage, keinen Server-Roundtrip, keinen Log-Eintrag. Die Daten gelangen von Ihrer Zwischenablage in einen geparsten In-Memory-Baum, werden einmal zum Abflachen durchlaufen, und das Ergebnis landet im Ausgabe-Textfeld. Wenn Sie nicht auf Download klicken, wird nicht einmal etwas auf die Festplatte geschrieben.
Häufige Fehler
- XML einfügen, das keine Form mit sich wiederholenden Datensätzen hat. Ein Dokument wie eine einzelne Konfigurationsdatei ohne Wiederholung lässt sich nicht zu einer brauchbaren CSV abflachen. Der Konverter ist für XML in Form einer „Liste ähnlicher Elemente“ ausgelegt.
- Erwarten, dass Attributpräfixe verlustfrei hin und zurück erhalten bleiben.
<product id="42">wird zu einer Spalte namensid, nichtproduct@idoderproduct.id. Wenn Sie die CSV anderswo wieder als XML importieren, müssen Sie neu zuordnen. - Falsches Trennzeichen für das Publikum. Eine Komma-CSV, die in einer französischen Excel-Installation geöffnet wird, kann zu einer einzigen Spalte zusammenfallen. Passen Sie das Trennzeichen an den Ort an, an dem die Datei landet.
- Das UTF-8-BOM für Excel vergessen. Nicht-lateinische Zeichen sehen in Windows-Excel ohne das BOM kaputt aus. Fügen Sie es entweder hinzu oder öffnen Sie die Datei stattdessen in Google Sheets / Excel für das Web.
- Versuchen, XHTML oder DocBook zu konvertieren. Dokument-XML mit gemischtem Inhalt lässt sich nicht sauber abflachen, verwenden Sie dafür eine richtige XML-/XSLT-Pipeline, keinen tabellarischen Konverter.
- Bereits bestehendes CSV-Injection-Risiko in Feldwerten. Wenn Ihr XML nutzergenerierten Text enthält und Sie die Ausgabe in Excel oder Sheets öffnen, werden Zellen, die mit
=,+,-oder@beginnen, als Formeln interpretiert. OWASP dokumentiert dies als echte Angriffsklasse, bereinigen Sie sie, bevor Sie Exporte nutzergenerierter Inhalte teilen. - Wiederholte Kindelemente. Wenn das XML
<tags>-Wrapper mit mehreren<tag>-Kindelementen hat, kann die flache Ausgabe das nicht sauber darstellen. Flachen Sie entweder auf eine Zeile pro Tag ab (mit wiederholten Elternfeldern) oder verarbeiten Sie das XML vor, um die Tags als getrennten String einzubetten.
Weitere häufig gestellte Fragen
Validiert das Werkzeug mein XML gegen ein Schema?
Nein. Es prüft nur die Wohlgeformtheit mit dem im Browser eingebauten DOMParser. Wenn Sie eine XSD- oder RELAX-NG-Validierung benötigen, verwenden Sie ein dediziertes Werkzeug wie xmllint, Saxon oder den W3C-XML-Schema-Validator, die Wohlgeformtheit reicht für ein sicheres Abflachen in CSV aus.
Wie groß darf mein XML sein?
So groß, wie Ihr Browser es fassen kann. Es gibt keine serverseitige Begrenzung, weil kein Server beteiligt ist. Mehrere Dutzend Megabyte konvertieren auf einem modernen Gerät in ein oder zwei Sekunden. Wenn Sie Hunderte Megabyte XML haben, teilen Sie es vor der Konvertierung in Stapel auf; das Ganze durch einen einzigen Browser-Tab laufen zu lassen kann an Speichergrenzen stoßen.
Verarbeitet das Werkzeug XML-Namespaces?
Ja, Elemente mit Namespace wie <atom:link> werden erkannt, und das Präfix bleibt im Spaltennamen erhalten. Wenn Sie das Präfix nicht in Ihren CSV-Überschriften möchten, führen Sie ein schnelles Suchen und Ersetzen an der Ausgabe durch, um sie zu entfernen.
Wird mein XML irgendwohin hochgeladen?
Nein. Das gesamte Parsen und Abflachen erfolgt in Ihrem Browser über den eingebauten DOMParser. Der Inhalt des Textfelds wird nie übertragen, protokolliert oder gespeichert. Sobald der Tab geschlossen ist, sind die Daten weg.
Was ist der Unterschied zwischen diesem und dem JSON-zu-CSV-Werkzeug?
Gleiches Ziel (hierarchische Daten in Zeilen abflachen), aber unterschiedliche Eingabeformate. XML ist ausführlicher, erlaubt Attribute, hat Namespaces und verwendet Entitätsreferenzen für Sonderzeichen. Der XML-zu-CSV-Konverter behandelt diese Merkmale gezielt; der JSON-zu-CSV-Konverter erwartet eine Eingabe als Array von Objekten. Wenn Sie JSON haben, verwenden Sie jenes Werkzeug; wenn Sie XML haben, liefert Ihnen dieses ein saubereres Ergebnis.
Kann ich die umgekehrte Konvertierung (CSV zu XML) bekommen?
Nicht mit diesem Werkzeug, aber die Umkehrung ist im Allgemeinen einfacher, wählen Sie einen Namen für das Zeilenelement, umschließen Sie jede Zeile und wandeln Sie jede Spalte in ein Kindelement um. Ein kleines Python- oder Node-Skript mit csv + xml.etree erledigt das in 20 Zeilen. Oder verwenden Sie ein Werkzeug für strukturierte Daten wie Excels Power Query, das CSV mit einem gewählten Schema zurück nach XML exportieren kann.