0
我有,例如,下面的XML片段包含XPath中选择封闭标签
<rootnode>
<level1 num="1">
<level2 num="1">1.1</level2>
<level2 num="2">1.2</level2>
<level2 num="3">1.3</level2>
</level1>
<level1 num="2">
<level2 num="1">2.1</level2>
<level2 num="2">2.2</level2>
<level2 num="3">2.3</level2>
<level2 num="4">2.4</level2>
<level2 num="5">2.5</level2>
</level1>
<level1 num="3">
<level2 num="1">3.1</level2>
<level2 num="2">3.2</level2>
<level2 num="3">3.3</level2>
<level2 num="4">3.4</level2>
</level1>
</rootnode>
我想选择哪个与他们的祖先@num>3
一起level2
节点,即获得
<rootnode>
<level1 num="2">
<level2 num="4">2.4</level2>
<level2 num="5">2.5</level2>
</level1>
<level1 num="3">
<level2 num="4">3.4</level2>
</level1>
</rootnode>
表达式//level1/level2[@num>3]
收益率
<level2 num="4">2.4</level2>
<level2 num="5">2.5</level2>
<level2 num="4">3.4</level2>
和//level1/level2[@num>3]/ancestor::*
得到所有的祖先,他们的内容:
<rootnode>
<level1 num="1">
<level2 num="1">1.1</level2>
<level2 num="2">1.2</level2>
<level2 num="3">1.3</level2>
</level1>
<!-- ... 25 lines cut -->
我理解这两个词语是如何工作的,以及为什么他们不适合我的需要。 什么是最简单的方法来实现所需的结果没有xslt?
的例子是非常简单和一般所选节点可以位于任意深度,和溶液应比例。
谢谢@IanRoberts。然后我会看看XQuery。 – yb011 2014-08-29 13:55:42