Probleme bei foreach und simpleXML

weserwolf

Grünschnabel
Hallo,

ich stehe den ganzen nachmittag schon vor dem folgendem Problem, vielleicht kann mir jemand auf die Sprünge helfen.

Ich möchte ein bestimmtes Element eines XML-Files ausgeben, dessen Attribut eine bestimmte ID hat. Das Element möchte ich dafür verwenden, ein neues Array zu schreiben. Allerdings hat der ausgegebene Wert stets die Daten des Vorarrays an Bord.

Der Quellcode:

[...]
PHP:
if ($xml->xpath("/Resultset/xyz/attribut[@id='380']")) {
	foreach($xml->xpath("/Resultset/xyz/attributes[@id='380']") as $attributus) {

        echo $attributus; // gibt den gewünschten Wert aus
	$kurzinfoarray[zimmer]=$attributus;  
	}
echo '<br />';
}
print_r($kurzinfoarray);
[...]

Das array sieht wie folgt aus:
SimpleXMLElement Object ( [@attributes] => Array ( [id] => 380 [bezeichnung] => bababa ) [0] => 4.5 )

Nun gibt die Variable echo $attributus; den gewünschten Wert (4.5 in dem Fall) aus. Füge ich $attributus allerdings dem array hinzu, entsteht ein verschachteltes array mit den ganzen Vorwerten inkl. Attributen. Siehe wie folgt:

Array ( [zimmer] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 380 [bezeichnung] => Anzahl Zimmer ) [0] => 4.5 ) )

Ich hoffe es ist klar geworden was ich meine. Meine Fragen:

Wie gebe ich den Wert 4.5 in das neue array ohne den ganzen Schnickschnack!

Viele Grüße und schon im Vorfeld vielen Dank für die Bemühungen.
 
Zuletzt bearbeitet:
Hi,

versuch's mal so:

PHP:
$kurzinfoarray['zimmer'] = (string)$attributus;

Und setze den Code in Deiner Frage bitte noch in die dafür vorgesehenen PHP-Tags. Dann ist es besser lesbar.

LG
 
Zurück