假设我有一个项目列表,每个项目都有自己的<id>
元素。还有一个<primaryId>
元素(外部提到的列表)指定这些项目中的哪一个是主要的&#39;。如何选择&#39; primary&#39; item&#39; <value>
元素?是否可以在.Net中使用XPath?
以下示例中的结果应为<value>val2</value>
。
<root>
<primaryId>2</primaryId>
<items>
<item>
<id>1</id>
<value>val1</value>
</item>
<item>
<id>2</id>
<value>val2</value>
</item>
</items>
</root>
答案 0 :(得分:3)
XPath中的位置路径可以包含[]
中的条件。
首先选择主要ID节点:
/root/primaryId
将其作为条件,将其与条件上下文中的id元素进行比较:
[id=/root/primaryId]
用它来过滤项目节点:
/root/items/item[id=/root/primaryId]
完整的表达方式:
/root/items/item[id=/root/primaryId]/value
答案 1 :(得分:-1)
<xsl:value-of select="/root/items/item[id=/root/primaryId]/value"/>