Thread Probleme mit XML::Simple (6 answers)
Opened by bo at 2007-01-25 15:52

bo
 2007-01-25 15:52
#73599 #73599
User since
2006-05-09
76 Artikel
BenutzerIn
[default_avatar]
Ich habe folgendes Problem. Mit XML::Simple wird eine Datenstruktur gespeichert und von einem anderen Script wieder eingelesen.
Das XML-File hat diesen Aufbau:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<opt>
<system_1>
<forms name="main_menu">
...
</forms>
<forms name="disconnect">
...
</forms>
...
</system_1>
<system_2>
<forms name="whatever">
...
</forms>
...
</system_2>
</opt>


Das Einlesen und das Verarbeiten der Datei funktionierte die ganze Zeit einwandfrei. Die Weiterverarbeitung geschieht über den Form-Namen.

Code: (dl )
1
2
3
4
5
6
7
my $xs = new XML::Simple();
my $tree = $xs->XMLin('vxml_tree.xml');
my $vxml = $tree->{system_1};
foreach my $form (sort keys %{$vxml->{forms}})
{
...
}


Doch plötzlich hat die XML-Datei den weiter unten gezeigten Aufbau und ich komme nicht mehr wie zuvor an meine 'forms' ran.
Wenn ich nun stattdessen
Code: (dl )
foreach my $form (sort keys %{$vxml})

benutze, bekomme ich zwar wieder meine forms, allerdings auch eine form mit dem namen 'name' und die existiert nicht.
Auszug DataDumper:
'name' => 'forms'
'forms' => {}

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<opt>
<system_1 name="forms">
<main_menu>
...
</main_menu>
<disconnect>
...
</disconnect>
</system_1>
<system_2 name="forms">
<whatever>
...
</whatever>
</system_2>


Das Script, welches das xml-file schreibt, ist schon etwas älter und meines Wissens auch seitdem unverändert. Also ich blicke im Moment nicht mehr durch...

Hat vielleicht jemand eine Idee, was ich tun muss, damit ich wieder das ursprüngliche Format erhalte?

View full thread Probleme mit XML::Simple