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)