php - XPATH - 选择具有特定属性的所有子节点

标签 php xml xpath rdf

从具有特定属性值的节点开始查找具有特定属性值的所有子节点的 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/

相关文章:

php - foreach循环数组sql查询

javascript - Angularjs - 使用 $http 获取 xml 响应而不是 json

php - 通过 PHP XMLReader 解析 XML 属性

selenium - 如何在 perl $sel->click 下使用 Selenium 点击 Javascript

python - 如何在 python XPath 中连接 br 中的字符串?

php - 从多维数组php中检索值

Php 到 Json 文件附加到 ul Ajax Jquery

xml - 使用 XSL 转换标签序列

c++ - MSXML 选择节点不工作

php - SoapVar 和 SoapParam 有什么区别?