Ich benutze SimpleXML, um einen XML-Feed einzuziehen. Ich muss den zweiten Knoten mit dem gleichen Namen greifen.SimpleXML, Auswählen von Knoten unter Verwendung von Kindindex mit Klammer syntex
-Feed Beispiel ist:
<parent-node>
<child-node>
<the-node>
<the-target>Text</target>
</the-node>
<the-node>
<the-target>Text</target>
</the-node>
</child-node>
</parent-node>
Da die Knoten I Verwendung Bindestriche bin Targeting, ich brauche Klammer Syntax verwenden
$item->{'parent-node'}->{'child-node'}->{'the-node'}
Dies wird die erste <the-node>
greifen, wenn die Halterung mit Syntax, ich kann nicht die zweite <the-node>
's <the-target>
mit einem der folgenden ...
$item->{'parent-node'}->{'child-node'}->{'the-node[2]'}->{'the-target'}
$item->{'parent-node'}->{'child-node'}->{'the-node'[2]}->{'the-target'}
$item->{'parent-node'}->{'child-node'}->{'the-node'}[2]->{'the-target'}
Meine Frage ist, wie richte ich child, während die Klammer-Syntax mit der zweiten <the-node>
‚s <target>
zu greifen?
--- --- UPDATES
Nachdem ich einige der Antworten, habe ich versucht, die folgenden ohne Glück
$item->{'parent-node'}->{'child-node'}->{'the-node'}[1]->{'the-target'}
$item->{'parent-node'}->{'child-node'}->{'the-node'}->{'the-target'}[1]
$item->{'child-node'}->{'the-node'}->{'the-target'}[1]
Können Sie teilen, was Sie versucht haben und wie es gescheitert ist? –
Nur damit Sie wissen, dass Sie auf die Kindknoten zugreifen wollen, als wären sie ein Array, dh die Indizierung beginnt bei '0'. Haben Sie versucht,' [1] 'anstelle von' [2] 'zu verwenden? Dies ist die richtige Syntax: '$ item -> {'Eltern-Knoten'} -> {'Kind-Knoten'} -> {'Der-Knoten'} [2]' BTW. – segFault