Вернуть элемент SimpleXMLElement с определенным атрибутом идентификатора? - PullRequest
2 голосов
/ 02 декабря 2011

Я создаю объект SimpleXMLElement из файла XML:

$pages = new SimpleXMLElement('content.xml', LIBXML_NOCDATA, true);

Упрощенная версия файла content.xml выглядит следующим образом: http://pastebin.com/mtvrPAK4

Есть ли какая-нибудь функция PHP, которая будет возвращать потомок $pages с атрибутом id = "whatis" ?

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011

Взгляните на SimpleXML::xpath():

$pages->xpath('/pages/page[@id = "whatis"]');
0 голосов
/ 02 декабря 2011

Когда вам нужно выбрать узлы XML, ответом всегда будет XPath.

Интерфейс SimpleXMLElement для XPath - это метод xpath.

Это выберет все элементы с атрибутом id = 'whatis':

$pages->xpath('//*[@id="whatis"]');
...