Thread unbekanntes XML-File in CSV (8 answers)
Opened by mordur. at 2014-01-16 14:45

Gast mordur.
 2014-01-16 14:45
#173013 #173013
Hallo,

ich habe z.B. folgendes XML:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<user>
<firstName>Sebastian</firstName>
<telephoneNumber>100</telephoneNumber>
<associatedDevices>
<device>SEP111111111111</device>
<device>CSFBLA</device>
<device>SEP222222222222</device>
</associatedDevices>
<primaryExtension>
<pattern>100</pattern>
<routePartitionName>PT_Intern</routePartitionName>
</primaryExtension>
<associatedGroups>
<userGroup>
<name>Standard CTI Enabled</name>
<userRoles>
<userRole>Standard CTI Enabled</userRole>
</userRoles>
</userGroup>
<userGroup>
<name>Standard CCM End Users</name>
<userRoles>
<userRole>Standard CCM End Users</userRole>
<userRole>Standard CCMUSER Administration</userRole>
</userRoles>
</userGroup>
</associatedGroups>
</user>

Ist also nicht ganz trivial.
Ich habe nun ein Perl-Script, dass soll mir daraus ein CSV machen. Funktioniert soweit auch ganz gut mit AnyData:
Code: (dl )
adConvert( 'XML', $self->{xmlFile}, 'CSV', $self->{output_file_csv},	$flags );


Das Ergebnis ist aber ziemlich flach, denn mit $flags kann ich wohl nur einen Startknoten vom XML angeben (hier "user").
Daher sieht die CSV dann so aus:
Code: (dl )
1
2
firstName,telephoneNumber,device,pattern,routePartitionName,name,userRoles
Sebastian,100,,,,,,

Schöner waere natürlich so eine CSV:
Code: (dl )
1
2
3
4
firstName,telephoneNumber,device,pattern,routePartitionName,name,userRoles
Sebastian,100,SEP111111111111,100,PT_Intern,Standard CTI Enabled,Standard CTI Enabled,
,,CSFBLA,,,Standard CCM End Users,Standard CCM End Users
,,SEP222222222222,,,,Standard CCMUSER Administration


Der Knackpunkt ist nun, dass ich gar nicht weiss, wie die Knoten der XML heissen und dass es noch mehr und tiefere Verzweigungen gibt als im Beispiel angegeben.
1. Kann man daher die XML nicht mit einem Loop solange durchlaufen, bis keine Kinderknoten mehr zu finden sind und dann die
Daten entsprechend aufbereiten OHNE die Knotennamen zu kennen?
2. Was mich weiter wundert, ist, das Anydata zwar die Kinder findet und als Ueberschrift setzt (im XML oben zum Beispiel "device", jedoch die Inhalte nicht schreibt, weil es mehr als einer ist.

modedit Editiert von GwenDragon: Beitrag aus defektem Thread restauriert
Last edited: 2014-01-16 14:46:33 +0100 (CET)

View full thread unbekanntes XML-File in CSV