使用 PHP simpleXML 查找一个我知道名称但不知道其所在位置的节点

2024-05-05

如果我知道要查找的节点的名称,但我可能不一定知道该节点的路径,我需要在 PHP 中查询 XML 字符串。

我想我可以使用 xpath 做到这一点,但我无法弄清楚如何设置相对路径来查看文档中的任何位置,有人可以指出我正确的方向吗?

我目前正在尝试使用 simpleXML 来实现此目的,但如果有更好的方法来实现此目的,我很乐意听到。


不要使用正则表达式来解析 XML!

The 后裔xpath 中的(双斜杠)运算符将在所有后代中搜索匹配项。

$matches = $simplexmlelementobject->xpath('//nameOfElement');

上面相当于DOM方法getElementsByTagName

如果您大致了解元素所在的位置,则可以使用后代运算符在某个节点下方进行搜索:

$matches = $simplexmlelementobject->xpath('someparentelement[@conditionalattr=something]//nameOfDescendantElementYouWant');

如果您需要使用DOMDocument代替SimpleXML,您可以使用以下命令发出 xpath 指令DOMXPath如有必要,可提出反对。 (留给读者作为练习。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP simpleXML 查找一个我知道名称但不知道其所在位置的节点 的相关文章

随机推荐