【发布时间】:2017-08-30 17:12:25
【问题描述】:
我想在 XML 中沿找到的路径查找(绑定)所有节点。 考虑以下 XML sn-p。
<a at="dat1">
<b at="dat2">
<c at="dat3">blah</c>
<c at="dat4">blah</c>
</b>
<b at="dat5">
<c at="dat6">blah</c>
<c at="dat7">blah</c>
</b>
</a>
<a at="dat8">
<b at="dat2">
<c at="dat4">blah</c>
<c at="dat9">blah</c>
</b>
<b at="dat10">
<c at="dat9">blah</c>
<c at="dat4">blah</c>
</b>
</a>
xpath 查询 /a/b[@at="dat2"]/c[@at="dat4"] 将只返回两个 c 节点。但是,我想检索满足给定条件的路径(a、b 和 c)上的所有节点。在这种情况下,我期待两个三元组的 a、b、c 节点。 xpath 表达式可以任意复杂。 xpath 引擎会找到三元组,但只返回 c 节点。
我当然可以编写多个 xpath 表达式来获取每个元素。但这将需要 xpath 引擎进行多次搜索,这并不是必需的,因为它已经在第一次搜索中找到了所有绑定。
如何在 xpath 中实现这一点?如果不可能,我应该使用哪种 XML 查询语言?
【问题讨论】:
-
到目前为止你做了什么?你至少用谷歌搜索过吗?
-
@Reborn 在发布问题之前我做了谷歌,但没有找到解决方案。我意识到这个问题不够清楚,因此我对其进行了编辑。希望对您有所帮助。