使用PHP XPATH中的属性值读取节点的名称和值

时间:2017-09-11 13:15:53

标签: php xml 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年的节点的名称和价值

预期产出排名:1 - 99和排名:3 - 27 我试着把xpath查询写成

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

在这种情况下,我没有得到xpath表达式

1 个答案:

答案 0 :(得分:1)

XPath表达式应为

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

然后,您可以分别使用name()text()来获取其名称和值。