BSDForen.de  

Zurück   BSDForen.de > Geekstuff > Programmieren

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 22.03.2012, 09:56   #1
evgenij
Registered User
 
Registrierungsdatum: Nov 2011
Beiträge: 28
XML in CSV umwandeln

Hallo zusammen,

stehe grad vor folgender Aufgabe:
Es gibt im xml-Format abgespreicherte Konfigurationsdateien, welche folgenden
Aufbau haben:
Code:
<Configuration> <NAME>Config1</NAME> <HOST>Host1</HOST> <PORT>8080</PORT> </Configuration>
oder aber auch

Code:
<Configuration> <NAME>Config2</NAME> <TYPE>Type2</TYPE> <HOST>Host2</HOST> <PORT>8080</PORT> <TIMEOUT>100</TIMEOUT> </Configuration>
Sprich Anzahl der Elemente und deren Reihenfolge kann/wird unterschiedlich sein.
Daraus muss eine CSV-Datei erzeugt werden. Alle Elemente sollen als Spalten abgebildet werden.
Code:
NAME;HOST;PORT;TYPE;TIMEOUT Config1;Host1;8080;; Config2;Host2;8090;Type2;100
Hat jemand eine Idee?
evgenij ist offline   Mit Zitat antworten
Alt 22.03.2012, 10:07   #2
Rakor
Moderators
 
Registrierungsdatum: Sep 2009
Beiträge: 697
In Perl gibt es es eine XML-Bibliothek mit der sowas machbar sein sollte. Wenn du Perl nicht abgeneigt bist wühl dich mal duch cpan und such danach. Ich halte das beinahe für den einfachsten Weg.
__________________
Meine Installationsmitschrift
Rakor ist offline   Mit Zitat antworten
Alt 22.03.2012, 10:25   #3
KobRheTilla
used register
 
Registrierungsdatum: Jan 2011
Beiträge: 251
Zitat:
Zitat von Rakor Beitrag anzeigen
In Perl gibt es es eine XML-Bibliothek mit der sowas machbar sein sollte.
XML::Lite kann ich empfehlen.

Rob
KobRheTilla ist offline   Mit Zitat antworten
Alt 22.03.2012, 10:38   #4
evgenij
Registered User
 
Registrierungsdatum: Nov 2011
Beiträge: 28
Hi,

danke euch für die schnelle Antwort.
Ich werde mir die beiden Bibliotheken angucken und versuche etwas brauchbares zu coden.
Hat vielleich einer von euch einen kleinen Beispiel für mich? Bin weder mit Perl noch mit einer anderer Programmiersprache auf "du" und würde mich über jede Unterstützung freuen.

Danke nochmal!
evgenij ist offline   Mit Zitat antworten
Alt 22.03.2012, 10:54   #5
unull
Nervensäge
 
Benutzerbild von unull
 
Registrierungsdatum: Feb 2005
Ort: ::1
Beiträge: 145
Also mit Ruby und xml-simple wuerde das so gehen (kurz eben zusammengehackt):

Code:
#!/usr/bin/env ruby require 'rubygems' require 'xmlsimple' require 'csv' entries = XmlSimple.xml_in('test.xml') entries['Configuration'].each do |e| tmp = Array.new e.each { |k,v| tmp << v } puts tmp.flatten!.to_csv(:col_sep => ';', :quote_char => ' ') end
und test.xml:

Code:
<foo> <Configuration> <NAME>Config1</NAME> <HOST>Host1</HOST> <PORT>8080</PORT> </Configuration> <Configuration> <NAME>Config2</NAME> <TYPE>Type2</TYPE> <HOST>Host2</HOST> <PORT>8080</PORT> <TIMEOUT>100</TIMEOUT> </Configuration> </foo>
Ergibt dann bei mir den Output:
Code:
~ ruby test.rb Config1;Host1;8080 Config2;Type2;Host2;8080;100
Du wirst das halt noch sortieren muessen.
unull ist offline   Mit Zitat antworten
Alt 22.03.2012, 11:35   #6
Vincent Vega
phisch
 
Registrierungsdatum: Jan 2005
Beiträge: 409
Sollte das nicht mit XSLT bzw. einem ganz normalen XML Stylesheet machbar sein? Damit bräuchte man keine speziellen Tools oder selbst geschriebenen Code, sondern könnte direkt auf xsltproc oder ähnliches losgehen.
__________________
http://phisch.org/
Vincent Vega ist offline   Mit Zitat antworten
Antwort


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus
Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
[ServiceMenus KDE4] Videos mit dem Rechtsklick Menü umwandeln Fusselbär Howtos 0 10.04.2011 19:30
.zip in .tar.bz2 on-the-fly umwandeln laemodost Programmieren 3 28.05.2009 14:23
Intel(R) 82845G Treiber und FreeBSD 6.2 nerko FreeBSD - Allgemein 6 05.02.2008 15:49
xml-Daten nach csv [bc]paddy.hm Jobsuche und Angebote 9 19.05.2005 17:12
php4 mit xml package muge OpenBSD - Allgemein 3 27.09.2003 13:51


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.