wie soll ich über das konvertieren von xml in csv
Ich versuche, um einige xml-code, eine Probe unten:
<time_report>
<project_ID>4</project_ID>
<project_status>close</project_status>
<client_ID>6001</client_ID>
<time_record>
<project_start_time>15:02:33</project_start_time>
<project_end_time>15:07:44</project_end_time>
<project_total_time>PT00H05M11S</project_total_time>
</time_record>
<employee_ID>10001</employee_ID>
<employee_name>Mary Beth</employee_name>
<date_created>2009-08-25</date_created>
</time_report>
und dann Ausgabe, die es so es im folgenden format:
project_id, project_status, client_id, project_start_time, project_end_time, project_total_time, employee_ID, employee_name, date_created
4, close, 6001, 15:02:33, 15:07:44, PT00H05M11S, 10001, Mary Beth, 2009-08-25
Habe ich versucht zu verwenden, xmllint, dies zu tun, haben aber leider nicht gelungen, irgendwelche Fortschritte zu machen, gesagt haben, dass ich Frage mich, ob jemand einen Vorschlag, was ich tun soll? Ich würde dies tun in einer bash/shell-Umgebung. jede Hilfe wäre sehr geschätzt, danke!
auch vergessen zu erwähnen, dass ich die richtigen Ergebnisse, wenn ich öffnen Sie die xml-Datei in excel, und speichern Sie dann als csv-Datei, Suche gerade nach einem Weg, es zu tun in linux
project_ID,project_status,client_ID,project_start_time,project_end_time,project_total_time,employee_ID,employee_name,date_created
4,close,6001,15:02:33,15:07:44,PT00H05M11S,10001,Mary Beth,8/25/2009
5,open,6003,12:00:00,12:45:00,PT00H45M00S,10003,Michelle,9/11/2009
2,close,6002,10:00:00,10:30:00,PT00H30M00S,10002,Joe,8/25/2009
2,open,6004,12:00:00,3:27:05,PT03H23M05S,10004,Mike,8/13/2009
- Duplizieren: stackoverflow.com/questions/14368347/...
- der Beitrag, den Sie verlinkt ist ein Duplikat von mir, wie der verlinkte Beitrag wurde geschrieben, nachdem ich schon mir geschrieben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
xmlstarlet ist ein sehr mächtiges Kommandozeilen-tool, das ermöglicht die Abfrage von XML-oder XSLT-übersetzungen. Es gibt einige XSLT -, XML->CSV Beispiele rumschwirren, aber die folgenden one-liner gibt Ihnen was Sie brauchen:
Das einzige problem war, dass ich brauchte, um zu wickeln
<time_report>
mit einem root-level-tag genannt<time_reports>
Für die Transformation von XML nach CSV (z.B. xsltproc) können Sie die Verwendung ein XSL-stylesheet wie dieses:
Könnten Sie auch meine Xidel: (vorausgesetzt du hast keine leeren Felder in der xml)
standard-XPath 2, keine Notwendigkeit zu erinnern, die die Namen der verschiedenen Kommandozeilen-Parametern...
oder ohne diese Annahme: