schlumsch Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Hallo allerseits, ich habe eine Frage zu xslt. Ich möchte ein csv-file in ein xml umwandeln. dabei möchte ich in einem Zwischenschritt eine Prüfung einbauen, ob das csv-file einem bestimmten Format genügt und dannd ie Konvertierung durchführen. Für den Fall xml2xml tut dies xslt wenn ich das richtig sehe. Gibt es auch eine Möglochkeit für csv2xml? ... eventuell existiert dafür ja auch eine andere Technologie als xslt, jedenfalls brauche ich am Ende des Tages ein script welches ich laufen lassen kann. Danke schon einmal, Gruß schlumsch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LadyPreis Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 csv2xml - A csv to xml converter Sollte damit doch eigentlich funktionieren... oder hast du spezielle Anforderungen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumsch Geschrieben 13. April 2010 Autor Teilen Geschrieben 13. April 2010 Ja nee, spezielle Anforderungen habe ich nicht, nur eben das ich ein script brauche welches ich auf meinem server laufen lassen kann. Sprich ein Prgoramm, sei es auch Freeware, welches ich starten muss bringt mir nichts Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumsch Geschrieben 13. April 2010 Autor Teilen Geschrieben 13. April 2010 Ok, nun habe ich ein weiteres Problem. Die pure Übersetzung von csv in xml ist erstmal klar. Nun müsste ich allerdings zuvor noch eine Formatprüfung durchführen ob das cvs-file zu dem von mir später verwendeten Datenformat kompatibel ist. Ich habe quasi ein csv in welchem jede Zeile einen abgeschlossenen Datensatz repräsentiert. An einer bestimmten Position der Zeile, z.b. Element 3, steht ein String welcher definiert wieviele Attribute der Datensatz haben darf und welche Bedeutung diese haben. Kann (wie?) ich vor der Umwandlung in xml eben dieses prüfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noptic Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Mit xslt kommst du da nicht weiter. Am einfachsten geht sowas mit einem php/perl etc script. Willst du eine xml Datei erstellen oder das ganze direkt als xml ausgeben? ***Hässlichs mini script*** <?php //Datei Zeilenweise einlesen $lines = file('foo.csv'); for($i=0;$i<count($lines);$i++){ //Jede zeile in Felder zerlegen $lines[$i] = explode(',',$lines[$i]); //überprüfen ob die Anzahl an feldern stimmt if(count($lines[$i])!=3) Die("Fehler in CSV Datei"); } echo "<root>"; for($i=0;$i<count($lines);$i++){ echo "<name>{$lines[$i][0]}</name><age>{$lines[$i][1]}</age><sex>{$lines[$i][2]}</sex>"; } echo "</root>"; ?> ***Beispiel csv*** name, alter, geschlecht Kurt, 27, m Karla, 24, w ***Beispiel xml** <root><name>name</name><age> alter</age><sex> geschlecht </sex><name>Kurt</name><age> 27</age><sex> m </sex><name>Karla</name><age> 24</age><sex> w</sex></root> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Kann (wie?) ich vor der Umwandlung in xml eben dieses prüfen? In CSV nicht, da CSV keine Typen kennt. Ich würde nach der Konvertierung (obwohl ich auch die Konvertierung von CSV nach XML etwas skeptisch sehe), die XML prüfen, ob sie einem entsprechenden Schema genügt, damit kannst Du dann auch Datentypen und -strukturen validieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noptic Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Die überprufung musst du dann halt in die erste for schleife packen. Was soll das denn für ein string sein? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumsch Geschrieben 13. April 2010 Autor Teilen Geschrieben 13. April 2010 Ich habe ein csv in welchem zum Beispiel eine Zeile so aussieht: 01|02|ObjektXYZ|03|04 daraus soll werden: <ObjektXYZ> <Bedeutung1> <01> </Bedeutung1> <Bedeutung2> <02> </bedeutung2> ... </ObjektXYZ> Zusätzlich will ich noch vorher prüfen, wie viele Attribute das Objekt insg. hat und ob dies zulässig ist. (Ich habe also mehrere verschiedene Objekte mit unterschiedlichen Attributen etc.) Mein resultierendes xml dient als Import für eine andere Applikation. Da ich nun allerdings nicht jedesmal wenn sich mein Auftraggeber zu einer Formatänderung entscheidet meine ganze Applikation umschreiben will, möchte ich diese Prüfung und xml-Erstellung der Applikation voraus laufen lassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Da ich nun allerdings nicht jedesmal wenn sich mein Auftraggeber zu einer Formatänderung entscheidet meine ganze Applikation umschreiben will, möchte ich diese Prüfung und xml-Erstellung der Applikation voraus laufen lassen. Was spricht dagegen auf Deine CSV das genannte Tool anzuwenden, die daraus resultierende XML mit XSLT in eine andere XML (passend für die Applikation) umzuwandeln und die XML Dateien mittels Schema zu validieren !? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumsch Geschrieben 13. April 2010 Autor Teilen Geschrieben 13. April 2010 Ja das dachte ich auch schon und darauf wird es wohl hinauslaufen. Als absoluter neuling in xslt muss ich da gleich nochmal nachfragen - mit xslt kann ich dann den von mir unten beschriebenen Sachverhalt umsetzen? Also zum Beispiel Anhand des 3ten Strings in einer Zeile überprüfen wie viele Strings die Zeile insgesammt hat und diese dann um weitere Elemente anreichern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Also zum Beispiel Anhand des 3ten Strings in einer Zeile überprüfen wie viele Strings die Zeile insgesammt hat und diese dann um weitere Elemente anreichern? XSL Transformation ? Wikipedia XSLT ist nicht auf eine CSV anwendbar ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noptic Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 steht das entscheidende Objekt immer an der gleichen stelle(z.B immer der dritte Eintrag? Hast du mit Erfahrung mit Scripts? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumsch Geschrieben 13. April 2010 Autor Teilen Geschrieben 13. April 2010 mein neuester Wissensstand: A CSV to XML converter in XSLT 2.0 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 mein neuester Wissensstand Du sollst hier nicht irgendwelche Bruchstücke posten und darauf hoffen, dass Dir jemand diese Bruchstücke zusammensetzt, denn das ist Deine Aufgabe. 1. Du hast eine CSV (hierzu bitte ein Bsp). 2. Du hast dann aus dieser CSV eine XML mit Hilfe des Tools erstellt (hierzu auch Bsp erstellen). 3. Wie sieht diese XML aus? aus 3 folgt dann eine Struktur und aufgrund folgt dann eine Prüfung und wie sieht diese Prüfung aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schlumsch Geschrieben 14. April 2010 Autor Teilen Geschrieben 14. April 2010 Ich glaube du hast mich da missverstanden. Ich wollte nicht das du/ihr mir den Link übersetzt. Ich wollte damit zum Ausdruck bringen, dass man wohl doch mit xslt 2.0 csv in xml übersetzen kann, das wars schon. Genau das werde ich nun versuchen, wenn mir da jemand helfen will poste ich natürlich gerne mein csv-file *g* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.