XSLT: Gibt es eine Möglichkeit, eine generische XML-Datei in eine CSV-Datei zu konvertieren?


0

Ich habe ein paar XML-Dateien mit unterschiedlichen Strukturen ohne XSD und muss sie in CSV konvertieren, einschließlich der Header. Die Überschriften sollten die "Punkt" -Verkettung des Pfades für das einzelne Element sein. Zum Beispiel:

<root>
  <item>
    <subitem>
      foo
    </subitem>
etc..

Die Überschrift lautet: root.item.subitem

Gibt es einen "generischen" Konverter für CSV in XSLT oder Alternativen zu XSLT selbst?


1
Sie müssen viel sorgfältiger festlegen, welchen Bereich von Eingaben Sie verarbeiten möchten und welche Ausgabe Sie daraus erstellen möchten. Wie würden Sie beispielsweise erwarten, dass die Daten in stackoverflow.com/questions/38886913/… aussehen, wenn sie in CSV konvertiert werden?
Michael Kay

Das einzige, was ich sagen kann, ist, dass ich mich nicht um Attribute für das einzelne Tag kümmern muss. Ich brauche nur den Textwert, der aus dem einzelnen Blatt extrahiert wurde. Ich kenne nicht alle Tag-Namen und die mögliche Struktur für das einzelne.
Randomize

1
XML ist hierarchisch. Ein Dokument, das beispielsweise eine SO-Frage darstellt, würde eine Frage und viele Antworten enthalten, und jede Frage und Antwort würde viele Kommentare enthalten. Diese Struktur ist in CSV nicht einfach darzustellen. Wenn Sie nicht wissen, wie Sie eine hierarchische Struktur in CSV darstellen würden, können Sie keinen generischen XML-zu-CSV-Konverter erstellen.
Michael Kay

Nun , wenn Sie rekursiv alle verschieden isolieren XPaths sie dann selbst auf die xml anwenden sollten Sie in der Lage zu tun , dass (nicht Attribute unter Berücksichtigung)
Randomize

@ Randomize: Was ist mit gemischten Elementen? Elemente, die sowohl Text als auch Unterelemente enthalten. Wie <item>This has text <a>and</a> other things.<sub_item>Hello!</sub_item></item> das wäre ein richtiges Durcheinander mit dem Ansatz, den Sie erwähnen.
Eiríkr Útlendi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.