I have an XML structure like this one:
<layout>
<pattern> ... </pattern>
<row> ... </row>
</layout>
How can I select the first node of <layout>
by its index, using XPath?
w3schools indicates syntax similar to /bookstore/book[1]/title
, but then says:
There is a problem with this. The example above shows different results in IE and other browsers.
IE5 and later has implemented that [0] should be the first node, but according to the W3C standard it should have been [1]!!
A Workaround!
To solve the [0] and [1] problem in IE5+, you can set the SelectionLanguage to XPath.
But that's client-specific. The PHP manual isn't very clear about this either.
As Felix said: What about trying?
$l = new SimpleXMLElement('<layout>
<pattern> ... </pattern>
<row> ... </row>
</layout>');
foreach($l->xpath('/layout/*[1]') as $n) {// yeah yeah, it's only one....
echo $n->getName();
}
prints pattern
. (php 5.3.1/win32/php.net build)