PHP Variable für XML Pfad

gingerswelt

Mitglied
Hallo zusammen,

ich lese aus einer XML-Datei wie folgt:
Code:
$xml = simplexml_load_file($path);
foreach ($xml->main_nav->name as $name){...}
               {

Wenn ich allerdings eine PHP-Variable ($name) in den Pfad integriere, so
erhalte ich eine Fehlermeldung:

Code:
foreach ($xml->$name->sub_nav->name as $sub_name){ ...}

Code:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING or T_VARIABLE or '{' or '$' in C:\xampp\htdocs\index.php on line 183
 
Frage:

Wie kann ich die Variable in einen String umwandeln?
Meine erste Idee war

"".$name

Leider hat dies mich auch nicht weiter gebracht.
Kann jemand helfen?

Danke
ginger
 
Probier mal Folgendes:
PHP:
${'xml->'.$name.'->sub_nav->name'}
oder auch:
PHP:
$xml->{$name}->sub_nav->name
Ich habe keine Ahnung, ob es funktioniert.
 
Das funktioniert leider auch nicht.

Dennoch habe ich eine Lösung gefunden. Frei nach dem Motto:
Genial einfach - einfach genial.

Code:
 $res = $xml->xpath("/content/".$name."/sub_nav/name");

Der XML-Pfad wird der Funktion xpath als String übergeben.
Damit ist dann wieder die herkömmliche Kombination aus String und
Variable möglich.

Echt Klasse - was PHP alles so bietet.

Grüße
ginger
 
Zurück