在 PHP 中,我想获取所有DOMElement包含给定文本的内容。
我得到DOMTextwhen $xpath->query("//text()[contains(., 'My String')]"),但是我必须执行哪个查询才能得到DOMElement?
使用:
(//*[text()
[contains(., 'My String')]
]
)[1]
Run Code Online (Sandbox Code Playgroud)
这将选择 XML 文档中具有包含字符串的文本节点子节点的第一个元素"My String"。
如果保证只有一个这样的元素存在,上面的表达式可以简化为:
//*[text()
[contains(., 'My String')]
]
Run Code Online (Sandbox Code Playgroud)
如果您要查找的元素保证只有一个文本节点子元素,则此表达式可以简化为:
(//*[contains(., 'My String')])[1]
Run Code Online (Sandbox Code Playgroud)
分别:
//*[contains(., 'My String')]
Run Code Online (Sandbox Code Playgroud)