Php xpath predicate help!

Hai folks,

I want to retrieve the person’s first name who’s rank is wp:secondary.
i wrote like this. not working :rolleyes:

$result = $xml->xpath('//wp:people/wp:person[@wp:rank="secondary"');

Error : Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: Invalid predicate…


<wp:people>
&#8722;
<wp:person wp:rank="primary">
<wp:firstname>David</wp:firstname>
<wp:middlename>J</wp:middlename>
<wp:lastname>Mike</wp:lastname>
</wp:person>
&#8722;
<wp:person wp:rank="secondary">
<wp:firstname>Mary J Mike</wp:firstname>
<wp:lastname>Mike</wp:lastname>
</wp:person>
&#8722;
<wp:person wp:rank="secondary">
<wp:firstname>Shirley A Mike</wp:firstname>
<wp:lastname>Mike</wp:lastname>
</wp:person>
&#8722;
<wp:person wp:rank="secondary">
<wp:firstname>Albert E Mike</wp:firstname>
<wp:lastname>Mike</wp:lastname>
</wp:person>
</wp:people>
.....

Predicates need to come between square brackets like [@attr="value"].

$result = $xml->xpath('//wp:people/wp:person[@wp:rank="secondary"');
//                                                missing ] here ^

For reference, take a look at:

OOoch! how do i missed that :shifty:

Thanks salathe additional links as well!