Hallo,
ich geh mal davon aus, das es sich um die OpenImmo Schnittstelle handelt?
Dort ist es meines Wissens so, dass es pro Immobilie auch nur einmal das <objektkategorie> Element vorkommt. Von daher wird die foreach Schleife eh nur einmal durchlaufen.
Ein
PHP-Code:
$objart = $xml->anbieter->immobilie[$i]->objektkategorie;
macht also das selbe.
Nun versteh ich auch noch nicht ganz, welches Ergebnis du möchtest.
Die Immobilie kann entweder ein Haus oder Wohnung oder Zimmer, etc. sein. Je nach Wahl besitzt objektart ein Kindelement. Und unter Umständen, wenn die Objektart noch detailierter gewählt wurde (Wohnung-> Appartment, Atelier, Dachwohnung, etc) hat dieses Element noch ein Attribut.
Wenn du also folgende machst solltest du alle Informationen erhalten:
PHP-Code:
$objart = $xml->anbieter->immobilie[$i]->objektkategorie->objektart;
if(isset($objart->wohnung)) {
echo "Objekt ist eine Wohnung..";
if(isset($objart->wohnung[wohnungtyp])) {
echo "Wohnungstyp: ". (string) $objart->wohnung[wohnungtyp];
}
}
if(isset($objart->haus)) {
echo "Objekt ist ein Haus..";
if(isset($objart->haus[haustyp])) {
echo "Haustyp: ". (string) $objart->haus[haustyp];
}
}
Gruß Danny