Java lib oder in der app zum konvertieren von CSV -, XML-Datei?
Ist es eine bestehende Anwendung oder Bibliothek in Java die mir erlauben wird, konvertieren CSV
Daten-Datei zu XML
- Datei?
Den XML
- tags versehen werden, durch die möglicherweise die erste Zeile mit Spaltenüberschriften.
InformationsquelleAutor der Frage A Salim | 2008-08-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht helfen könnte: JSefa
Lesen Sie die CSV-Datei mit diesem tool und serialisieren nach XML.
InformationsquelleAutor der Antwort svrist
Als die anderen oben, ich weiß nicht, jede ein-Schritt-Weise, das zu tun, aber wenn Sie bereit sind, sehr einfach zu verwenden von externen Bibliotheken würde ich vorschlagen:
OpenCsv zum Parsen von CSV-Datei (klein, einfach, zuverlässig und einfach zu bedienen)
Xstream Parsen/serialisieren von XML (sehr sehr einfach zu bedienen und das erstellen von vollständig lesbaren xml)
Mit der gleichen sample-Daten wie oben, der code würde wie folgt Aussehen:
Produziert Folgendes Ergebnis:
(Xstream ermöglicht eine sehr feine Abstimmung der Ergebnis...)
InformationsquelleAutor der Antwort Laurent K
Ich weiß, Sie bat für Java, aber das scheint mir eine Aufgabe gut geeignet, um eine scripting-Sprache. Hier ist eine schnelle (sehr einfache) Lösung in Groovy geschrieben.
test.csv -
csvtoxml.groovy
Schreibt die folgenden XML auf stdout:
Jedoch, der code ist sehr einfach Parsen (ohne Berücksichtigung escaped oder quotiert Kommas) und es nicht möglich fehlen Daten.
InformationsquelleAutor der Antwort Anthony Cramp
Habe ich ein opensource-framework für die Arbeit mit CSV-und flat-Dateien im Allgemeinen. Vielleicht ist es einen Blick Wert: JFileHelpers.
Mit diesem toolkit können Sie code schreiben, mit Bohnen, wie:
und dann einfach analysieren Sie Ihre text-Dateien mit:
Und Sie werden eine Auflistung der analysierten Objekte.
Hoffe, das hilft!
InformationsquelleAutor der Antwort kolrie
Diese Lösung benötigt keine CSV-oder XML-Bibliotheken, und ich weiß, es behandelt nicht jede illegale Zeichen und die Codierung Fragen, aber vielleicht interessiert es auch, vorausgesetzt, dass Ihre CSV-input nicht zu brechen die oben genannten Regeln.
Achtung: sollten Sie nicht verwenden Sie diesen code, es sei denn, Sie wissen, was Sie tun oder nicht haben, die chance zu nutzen, eine weitere Bibliothek (möglich in einigen bürokratischen Projekte)... Verwenden einen StringBuffer für ältere Runtime-Umgebungen...
So, hier gehen wir:
Den Eingang-test.csv-Datei (von anderen gestohlen beantworten auf dieser Seite):
Die resultierende Ausgabe:
InformationsquelleAutor der Antwort Martin Klinke
Ich verstehe nicht, warum würden Sie wollen, dies zu tun. Es klingt fast wie ein cargo-Kult-Codierung.
Konvertieren einer CSV-Datei in XML nicht fügen Sie einen beliebigen Wert. Ihr Programm ist bereits das Lesen der CSV-Datei, die so argumentieren, müssen Sie XML nicht funktioniert.
Auf der anderen Seite, die CSV-Datei liest, tut etwas mit den Werten, und dann serialisieren von XML keinen Sinn machen (naja, so viel wie die Verwendung von XML kann Sinn machen... ;)), aber Sie würden angeblich bereits ein Mittel der Serialisierung zu XML.
InformationsquelleAutor der Antwort Ryan Fox
Der große Unterschied ist, dass JSefa bringt ist, dass es serialisieren können Sie Ihre java-Objekte in CSV/XML Dateien in/etc und Deserialisieren können zurück zu java-Objekten. Und es ist getrieben von Anmerkungen, die Ihnen viel Kontrolle über die Ausgabe.
JFileHelpers auch sieht interessant aus.
InformationsquelleAutor der Antwort James Selvakumar
Können Sie dies tun, außergewöhnlich leicht, mit groovigen, und der code ist sehr gut lesbar.
Grundsätzlich die text-variable geschrieben wird
contacts.xml
für jede Zeile in dercontactData.csv
und das fields-array enthält jede Spalte.InformationsquelleAutor der Antwort abarax
Könnten Sie XSLT. Google es und Sie finden ein paar Beispiele z.B. CSV zu XML
Wenn Sie XSLT Sie können dann konvertieren Sie die XML in welchem format auch immer Sie wollen.
InformationsquelleAutor der Antwort Simmo
Es ist auch eine gute Bibliothek ServingXML von Daniel Parker, die in der Lage zu konvertieren fast alle nur-text-format nach XML und zurück.
Beispiel für Ihren Fall gefunden werden kann hier: Es verwendet überschrift-Feld in der CSV-Datei als XML-element-Namen.
InformationsquelleAutor der Antwort Lukáš Rampa
Soweit ich weiß, gibt es keine fertige Bibliothek, dies zu tun für Sie, sondern darum, ein Werkzeug in der Lage die übersetzung von CSV zu XML sollte nur verlangen, dass Sie schreiben, eine rohe CSV-parser und-hook-up-JDOM (oder Ihre XML-Java-Bibliothek der Wahl) mit etwas glue-code.
InformationsquelleAutor der Antwort Matt
Es gibt nichts, was ich kenne, die dies tun können, ohne Sie wenigstens schreiben ein bisschen code... benötigen Sie 2 separate Bibliothek:
Den CSV-parser, die ich empfehlen würde (es sei denn, Sie wollen ein bisschen Spaß zu haben, um schreiben Sie Ihre eigenen CSV-Parser) ist OpenCSV (Ein SourceForge-Projekt zum Parsen von CSV-Daten)
Die XML-Serialisierungs-Framework sollte etwas sein, das skaliert werden können, in Fall, dass Sie wollen, um die Verwandlung großer (oder riesiger) CSV-Datei, um XML: Meine Empfehlung ist die Sun Java Streaming XML Parser-Framework (Siehe hier), mit dem pull-parsing UND-Serialisierung.
InformationsquelleAutor der Antwort Claude Houle
Dies kann zu grundlegenden oder begrenzt eine Lösung, aber konnten Sie nicht tun, eine
- String.split()
auf jede Zeile der Datei, die Erinnerung an die Ergebnis-array der ersten Zeile, die XML erzeugen, und nur spucken jedes line-array-Daten mit den entsprechenden XML-Elementen padding jede iteration einer Schleife?InformationsquelleAutor der Antwort saint_groceon
Jackson-Prozessor-Familie hat backends für mehrere Datenformate, nicht nur JSON. Dies umfasst sowohl XML (https://github.com/FasterXML/jackson-dataformat-xml) und CSV (https://github.com/FasterXML/jackson-dataformat-csv/) backends.
Konvertierung würde verlassen sich auf das Lesen-Eingang mit CSV-backend schreiben, mit XML-backend. Dies ist am einfachsten zu tun, wenn du (oder definieren) ein POJO für die pro-Reihe (CSV) Einträge. Dies ist nicht zwingend Voraussetzung, da die Inhalte aus der CSV gelesen werden können "nicht typisiert", als auch (eine Reihe von
String
arrays), erfordert aber etwas mehr Arbeit auf die XML-Ausgabe.Für XML-Seite, Sie müssen einen wrapper root-Objekt enthalten array oder
List
von Objekten zu serialisieren.InformationsquelleAutor der Antwort StaxMan
Ich hatte das gleiche problem und benötigt eine Anwendung zum konvertieren einer CSV-Datei in eine XML-Datei in einem meiner Projekte, aber nicht finden, alles kostenlos und gut genug im Netz, also codiert ich meine eigene Java-Swing CSVtoXML Anwendung.
Es ist verfügbar auf meiner website HIER. Hoffe es wird Euch helfen.
Wenn nicht, können Sie leicht code Ihre eigenen, wie ich es Tat; Der Quellcode ist im jar-Datei so zu ändern, wie Sie benötigen, wenn Sie nicht füllen Sie Ihre Anforderungen.
InformationsquelleAutor der Antwort Ibrabel
Für die CSV-Teil, können Sie meine kleine open-source-Bibliothek
InformationsquelleAutor der Antwort Arne Burmeister