PHP访问XML兄弟标记的属性

时间:2016-09-02 08:12:04

标签: php xml xpath simplexml

我正在使用像这样的xml文件;

<m>
  <n>
     <name id="1">test</name>
     <id>10</id>
  </n>
  <n>
    ......
  </n>
</m>

想要搜索10然后获取兄弟标记&#34;名称&#34;的id值。

我发现10如下,但是,不知道如何获取兄弟标记&#34;名称&#34;的id属性值,是否有任何访问兄弟姐妹的方法属性?

$test=$xml->xpath("//n['10']/::*");

如何访问此ID(&#34; <name id="1">test</name>&#34;)值?

感谢

1 个答案:

答案 0 :(得分:2)

您可以在name元素中找到前一个兄弟id元素,如下所示:

//id[.='10']/preceding-sibling::name

或者,您可以找到子n符合条件的id元素,然后从name返回n元素:

//n[id='10']/name

*)如果您要返回/@id属性而不是整个id元素,请在上面任一XPath的末尾添加name