我是否可以使用某种xpath语法来获取下面xml中存在identifierref的所有节点(包括子节点)?我一直在尝试XmlNodeList nodeList = xmlDoc.SelectNodes("//@identifierref");
之类的东西,但是它不会返回项目节点下面的子标题节点。理想情况下,我想获得一个节点列表,该列表可以访问存在identifierref的项节点以及它们下面的标题节点。下面是我正在使用的xml。提前谢谢。
<organization xmlns:adlcp="test1" xmlns="test2">
<title>1.2 Tester</title>
<item identifier="C2_LESSON1">
<title>TestName1</title>
<item identifier="I_SCO1" identifierref="SCO01">
<title>Tester SCO 1</title>
</item>
</item>
<item identifier="C2_LESSON2">
<title>TestName2</title>
<item identifier="I_SCO2" identifierref="SCO01">
<title>Tester SCO 2</title>
</item>
</item>
<item identifier="C2_LESSON3">
<title>TestName3</title>
<item identifier="I_SCO3" identifierref="SCO01">
<title>Tester SCO 3</title>
</item>
</item>
</organization>
答案 0 :(得分:1)
我想获得一个有的节点列表 访问具有的项目节点 identifierref存在和标题 他们下面的节点
//item[@identifier]
以上选择文档中具有item
属性的所有identifier
元素。
如果您还想选择title
元素子项。
//item[@identifier]|//item[@identifier]/title
但节点集结果顺序取决于主机语言(文档顺序最多的工作)。也没有&#34;分组&#34;功能:你不能遍历每一个,因为可能缺少一些title
。
因此,首先使用第一个XPath表达式,然后迭代item
使用任何DOM方法或相对XPath表达式获取title
:
title