All the nodes having an attribute
我可以使用某种 xpath 语法来获取下面 xml 中存在 identifierref 的所有节点(包括子节点)吗?我一直在尝试类似
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <organization xmlns:adlcp="test1" xmlns="test2"> 1.2 Tester <item identifier="C2_LESSON1"> TestName1 <item identifier="I_SCO1" identifierref="SCO01"> Tester SCO 1 </item> </item> <item identifier="C2_LESSON2"> TestName2 <item identifier="I_SCO2" identifierref="SCO01"> Tester SCO 2 </item> </item> <item identifier="C2_LESSON3"> TestName3 <item identifier="I_SCO3" identifierref="SCO01"> Tester SCO 3 </item> </item> </organization> |
I want to obtain a node list which has
access to the item nodes that have
identifierref present and the title
nodes below them
1 | //item[@identifier] |
上面选择了文档中具有
如果您还想选择
1 | //item[@identifier]|//item[@identifier]/title |
但节点集结果顺序取决于宿主语言(最适用于文档顺序)。也没有"分组"功能:您不能遍历每两个,因为可能缺少一些
所以,首先使用第一个 XPath 表达式,然后使用任何 DOM 方法或相对 XPath 表达式(例如:
)遍历那些获得
1 | title |