xml — читает имя и значения узла, используя значение атрибута в PHP XPATH

я использую PHP DOM XPATH. У меня есть структура XML, как показано ниже

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:rank="http://www.w3.org/2001/XMLSchema">
<rank:one year = "2015">99</<rank:one>
<rank:two year = "2014">128</rank:two>
<rank:three year = "2015">27</rank:three>
</root>

где я хочу получить название и значение узла, где год 2015

ожидаемый результат: ранг: один — 99 и ранг: три — 27
Я пытался написать запрос xpath как

$xpath->query('//root/[@year="2015"]');

Я не получаю то, что должно быть выражением xpath в этом случае

0

Решение

Выражение XPath должно быть

$xpath->query('//root/*[@year="2015"]');

Тогда вы можете использовать name() а также text() чтобы получить его имя и значение, соответственно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector