在 PHP 中,我想获取所有包含给定文本的 DOMElement
。
当 $xpath->query("//text()[contains(., 'My String')]")
时,我得到了 DOMText
,但是哪个查询我必须执行以获得 DOMElement
吗?
最佳答案
使用:
(//*[text()
[contains(., 'My String')]
]
)[1]
这将选择 XML 文档中的第一个元素,该元素的文本节点子节点包含字符串 "My String"
。
如果保证只有一个这样的元素存在,上面的表达式可以简化为:
//*[text()
[contains(., 'My String')]
]
如果您要查找的元素保证只有一个文本节点子节点,则此表达式可以简化为:
(//*[contains(., 'My String')])[1]
分别是:
//*[contains(., 'My String')]
关于php - 获取具有特定文本 PHP/XPath 的 DOMElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689579/