从具有特定属性值的节点开始查找具有特定属性值的所有子节点的 xpath 查询是什么?
这与我之前发布的关于解析 rdf xml 文件的问题有点相关 - 我以为我已经解决了它,但还没有完全解决。
例如,我正在尝试解析并获取所有 rdf:about
属性值。我有这个工作正常。不过,我需要添加以下条件 - 解析需要在找到特定的 rdf:about
值后开始。
我正在使用 PHP 并使用 DomDocument
并使用以下 xpath 查询:
$xpath->query('//@rdf:about');
它正在查找所有 rdf:about
属性。
我需要扩展它以仅查找 rdf:about
属性等于某物的节点之后的那些属性。
如何?
最佳答案
$xpath->query("//*[@rdf:about='http://rdfs.org/sioc/ns#']/following-sibling::*/@rdf:about");
使用您的示例脚本,输出以以下内容开头/结尾的 URL:
http://rdfs.org/sioc/ns#Community
http://rdfs.org/sioc/ns#Container
...
http://rdfs.org/sioc/ns#reference
http://rdfs.org/sioc/ns#subject
关于php - XPATH - 选择具有特定属性的所有子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488021/