Ich lade mit folgendem Script Daten aus einer XML Datei:
use XML::Simple;
my $xs = XML::Simple->new();
my $ref = $xs->XMLin('test.xml');
for my $mandant (@{$ref->{Company}})
{
print $mandant->{ID}."\n";
print $mandant->{Name}."\n";
}
Hier der Aufbau der XML-Datei:
<?xml version="1.0" encoding="UTF-8"?>
<License xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Company>
<ID>100</ID>
<Name>Mandant 1</Name>
</Company>
<Company>
<ID>110</ID>
<Name>Mandant 2</Name>
</Company>
</License>
Das funktioniert auch wunderbar solange mehrere Mandanten in der XML Datei angegeben sind.
Sobald nur ein Mandant in der XML Datei steht kommt folgende Fehlermeldung:
error:Not an ARRAY reference
Hat vielleicht jemand eine Idee wie ich die Schleife ändern kann so dass beide Fälle abgedeckt sind?
modedit Editiert von pq: tags hinzugefügt
Last edited: 2012-02-22 14:25:33 +0100 (CET)