Zum Hauptinhalt springen
PulsarKit

XML in CSV umwandeln

Machen Sie aus einem Feed, einem Produktexport oder einer RSS-Datei eine Tabelle. Das sich wiederholende Datensatzelement wird für Sie gefunden, XPath brauchen Sie nicht.

Dateien hier ablegen

.xml, .rss, .xhtml, .txt · bis 300 MB

Weitere Einstellungen

In CSV umwandeln: So geht’s

  1. 1

    XML-Datei ablegen

    Ziehen Sie eine .xml- oder .rss-Datei auf die Seite. Sie wird zuerst validiert: Ein fehlendes schließendes Tag wird mit Zeile und Spalte gemeldet, statt eine halbe Tabelle zu liefern.

  2. 2

    Datensatzelement bestätigen

    Das sich wiederholende Element wird erkannt und mit der Zahl seiner Datensätze angezeigt, etwa rss.channel.item mit vierzig. Wählen Sie einen anderen Kandidaten, wenn das nicht die gewünschte Ebene ist.

  3. 3

    Umwandeln und CSV herunterladen

    Klicken Sie auf die Schaltfläche und speichern Sie die Tabelle.

XML hat keine Zeilen, also werden sie gesucht

Ein Baum verrät nicht, welche Ebene ein Datensatz ist. Das Dokument wird bis zur Tiefe sechs durchlaufen, und für jeden Pfad wird gezählt, wie viele gleichnamige Geschwisterelemente dort stehen. Die größte Gruppe gewinnt; bei Gleichstand entscheidet der tiefere Pfad, denn rss.channel.item ist nützlicher als rss.channel. Bis zu fünf Kandidaten werden mit ihrer Zahl an Datensätzen angeboten.

Attribute, Verschachtelung und wiederholte Kindelemente

Ein Attribut wird zu einer eigenen Spalte mit dem Präfix @. So kollidiert id an einem Produkt nicht mit einem gleichnamigen Kindelement. Kindelemente werden bis zur erlaubten Tiefe zu Spalten mit Punktnamen, alles Tiefere wird als JSON in eine Zelle geschrieben. Wiederholte Kindelemente lassen sich verbinden, nummerieren oder als JSON behalten.

Namespaces und bösartige Dokumente

Namespace-Präfixe werden standardmäßig entfernt. So kommt dc:title als einfache Spalte title an, und ein Feed, der drei Vokabulare mischt, ergibt trotzdem lesbare Spaltenköpfe. Dokumente, die in ihrem DOCTYPE eigene Entities deklarieren, werden vor dem Einlesen abgelehnt statt expandiert – genau diese Art von Datei bringt einen Browser-Tab zum Hängen.

Zum Umwandeln wird nichts hochgeladen

Validator, Parser und CSV-Schreiber sind JavaScript, das in diesem Browser-Tab läuft. Kein Teil Ihres Dokuments wird an einen Server gesendet, gespeichert oder protokolliert, und das Tool arbeitet auch bei ausgeschaltetem Netzwerk weiter. Schließen Sie den Tab, und von der Datei bleibt nichts zurück.

Häufige Fragen

Wie entscheidet das Tool, welches Element ein Datensatz ist?

Es zählt Wiederholungen. Jeder Pfad bis zur Tiefe sechs wird auf gleichnamige Geschwisterelemente untersucht, und der Pfad mit den meisten wird zum Datensatz; bei Gleichstand gewinnt der tiefere. Die Alternativen bleiben mit ihren Zahlen sichtbar, und bei einem ungewöhnlichen Dokument können Sie einen Pfad auch selbst eintippen.

Wo landen XML-Attribute?

Jedes Attribut wird zu einer Spalte mit dem Präfix @: Ein Attribut id heißt @id und bleibt von einem Kindelement id unterscheidbar. Enthält Ihr Export Attribute, die Sie nicht brauchen, stellen Sie die Attribute auf Überspringen. Dann fallen alle weg, und die Tabelle wird schmaler.

Was passiert mit verschachtelten Elementen in einem Datensatz?

Sie werden bis zur eingestellten Tiefengrenze zu Spalten mit Punktnamen wie price.currency. Unterhalb dieser Grenze wird der ganze Teilbaum als JSON in eine einzige Zelle geschrieben. So bleiben die Daten verfügbar, ohne Tausende fast leerer Spalten zu erzeugen.

Warum beginnt die CSV-Datei mit einer Byte Order Mark?

Damit Excel die Datei beim Doppelklick als UTF-8 erkennt, statt eine alte Codepage zu raten und Umlaute, Akzente oder kyrillischen Text zu verstümmeln. Ist die Datei für ein Skript oder ein Ladeprogramm einer Datenbank bestimmt, das die Markierung nicht mag, ist reines UTF-8 nur eine Einstellung entfernt.

Excel zeigt alles in einer Spalte. Was ist schiefgelaufen?

An der Datei nichts. Excel trennt nach dem Trennzeichen aus den Regionaleinstellungen Ihres Systems, und das ist in weiten Teilen Europas das Semikolon. Wandeln Sie erneut um und wählen Sie dabei das Semikolon, oder nutzen Sie für die vorhandene Datei „Daten“ und dann „Text in Spalten“.

Funktioniert das mit einem RSS- oder Atom-Feed?

Ja, das ist der einfachste Fall. Die Erkennung findet rss.channel.item oder das entsprechende entry-Element von selbst, jedes Item wird zu einer Zeile, und Erweiterungen mit Namespace wie Dublin Core oder Media-Tags kommen als normale Spalten an, sobald die Präfixe entfernt sind.

Warum steht vor einem Wert mit Gleichheitszeichen am Anfang ein Hochkomma?

Weil eine Tabellenkalkulation ihn sonst als Formel behandeln würde – und ein Wert aus einem nicht vertrauenswürdigen Feed kann so gebaut sein, dass er beim Öffnen der Datei einen Befehl ausführt. Das vorangestellte Hochkomma macht ihn unschädlich. Einfache negative Zahlen wie -5 bleiben unverändert.

Meine Datei hat einen DOCTYPE und wurde abgelehnt. Warum?

Ein DOCTYPE, der Entities deklariert, wird absichtlich abgelehnt. Verschachtelte Entity-Definitionen können sich zu Gigabytes an Text aufblähen und den Tab einfrieren, und externe können nach Dateien an anderen Orten greifen. Entfernen Sie die Entity-Deklarationen aus dem DOCTYPE, dann wird das Dokument normal umgewandelt.

Ähnliche Tools