Problem mit Schleife und SimpleXML

alex130

Erfahrenes Mitglied
Hallo,
ich habe mich gerade ein wenig mit SimpleXML beschäftigt und einen Kundendatensatz ausgelesen, dies hab ich so gemacht:
PHP:
$xml_file = simplexml_load_file('xml.xml');

echo "PersonenNR: ".$xml_file->PAKET[0]->PERSON[1]->attributes()->Personennr."<br>";
echo "Strasse: ".$xml_file->PAKET[0]->PERSON[1]->attributes()->Strasse."<br>";
echo "PLZ: ".$xml_file->PAKET[0]->PERSON[1]->attributes()->PLZ."<br>";
echo "Ort: ".$xml_file->PAKET[0]->PERSON[1]->attributes()->Ort."<br>";
echo "Name: ".$xml_file->PAKET[0]->PERSON[1]->NATUERLICHE_PERSON->attributes()->Familienname."<br>";
echo "Geschlecht: ".$xml_file->PAKET[0]->PERSON[1]->NATUERLICHE_PERSON->attributes()->GeschlechtCd."<br>";
echo "Geburtsdatum: ".$xml_file->PAKET[0]->PERSON[1]->NATUERLICHE_PERSON->attributes()->Gebdat."<br>";
echo "Landescode: ".$xml_file->PAKET[0]->PERSON[1]->NATUERLICHE_PERSON->attributes()->LandesCd."<br>";
echo "Familienstand: ".$xml_file->PAKET[0]->PERSON[1]->NATUERLICHE_PERSON->attributes()->FamilienstandCd."<br>";

Aber nun will ich das in einer Schleife machen, doch wenn ich es so mache:
PHP:
$i = 0;
foreach($xml_file as $xml) {
echo "PersonenNR: ".$xml->PAKET[0]->PERSON[$i]->attributes()->Personennr."<br><br><br>";
print_r($xml);
//echo $i;
$i = $i++;
}
Dann kommt ein fehler:
Code:
Fatal error: Call to a member function attributes() on a non-object
Kann mir bitte jemand helfen?
Danke
 
Hi,

Wieso machst Du eine foreach-Schleife über $xml_file? Das ist doch kein Array.

Meinst Du das so?

PHP:
foreach($xml_file->PAKET[0]->PERSON as $person) {
   echo "PersonenNR: ".$person->attributes()->Personennr."<br><br><br>";
}

LG
 
Zurück