я использую 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 в этом случае
Выражение XPath должно быть
$xpath->query('//root/*[@year="2015"]');
Тогда вы можете использовать name()
а также text()
чтобы получить его имя и значение, соответственно.
Других решений пока нет …