XML-ChildElement für bestimmte Attribute auslesen

Arndtinho

Erfahrenes Mitglied
Hallo und guten Abend,

ich schreibe gerade ein Script, welches mittels SimpleXML übergebene XML Dateien ausliest. Das funktioniert bisher auch ganz gut. Nun möchte ich aber nur die Werte eines ChildElementes auslesen, bei den das ParentElement einen bestimmten Attributwert besitzt.
Beispiel:
Code:
<element type="a">
   <return>test 1</return>
</element>
<element type="b">
   <return>test 2</return>
</element>
<element type="a">
   <return>test 3</return>
</element>
Es sollen alle <return>-Elemente ausgelesen, für die gilt: <element type="a">.
Habe eine foreach-Schleife, aber das liefert mir nicht das gewünschte Ergebnis.
PHP:
foreach ($tmp as $element) {
    if ($element['type'] == "a") {
        return $this->xml->element->return;	
    }
}
Damit bekomme ich für jedes Element "test 1" geliefert. Ich erwarte aber "test 1" und "test 3".
Wie löst man sowas?

Viele Grüße
Arndtinho
 
Hi,

Du machst in Deiner Schleife ja auch ein "return", d.h. beim ersten Treffer steigst Du aus.
Du könntest das natürlich auch über xpath lösen:

PHP:
$xml_object->xpath('//element[@type = "a"]/return');

LG
 
Zurück