我正在使用这样的 xml 文件;
<m>
<n>
<name id="1">test</name>
<id>10</id>
</n>
<n>
......
</n>
</m>
想要搜索 10,然后获取同级标签“name”的 id 值。
我找到了如下所示的10个,但是,不知道如何获取兄弟标签“name”的id属性值,有没有任何方法可以访问兄弟的属性?
$test=$xml->xpath("//n['10']/::*");
如何访问此 ID(“<name id="1">test</name>
”)值?
谢谢
最佳答案
您可以从 id
元素中找到前面的同级 name
元素,如下所示:
//id[.='10']/preceding-sibling::name
或者,您可以找到子 id
与条件匹配的 n
元素,然后从该 n< 中返回
:name
元素
//n[id='10']/name
*) 如果您打算返回 id
属性而不是整个 name
元素,请在上述任一 XPath 的末尾添加 /@id
.
关于PHP 访问 XML 同级标签的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287443/