Don P: XML::Simple

Beitrag lesen

Hallo,

Zur Verarbeitung von XML-Daten gibt es z.B. die Module XML::Parser und XML::Simple, welches auf XML::Parser aufbaut.

So weit, so gut, aber leider verliert man mit XML::Simple die Reihenfolge der XML-Tags.

In diesem kleinen Tutorial z.B. ist beschrieben, wie XML::Simple eingesetzt werden kann. Das Beispiel dort benutzt folgende Quelldaten:

  
<?xml version='1.0'?>  
<employee>  
        <name>John Doe</name>  
        <age>43</age>  
        <sex>M</sex>  
        <department>Operations</department>  
</employee>

Und XML::Simple erzeugt daraus folgende Struktur:

  
$VAR1 = {  
          'department' => 'Operations',  
          'name' => 'John Doe',  
          'sex' => 'M',  
          'age' => '43'  
        };

Das ist ein Hash, ok.
Hash-keys haben keine bestimmte Reihenfolge, soweit verstehe ich das ja, aber gibt es denn keine Möglichkeit, die Tags irgendwie in der Reihenfolge zu erhalten, wie sie im Quelldokument stehen?

Ist XML::Simple dafür zu simple, oder habe ich nur etwas übersehen?

Kann mir nicht vorstellen, dass das immer so gewünscht ist, im Gegenteil. Kennt sich da jemand aus und hat vielleicht eine Lösung? Gibt es andere Module, die dafür besser geeignet sind?

Danke und Gruß, Don P