我有以下xml文件,我想从任何节点中提取单个元素,
<?xml version="1.0" encoding="UTF-8"?>
<root>
<SubRoot>
<type>A</type>
<mand>Y</mand>
<Section>B</Section>
</SubRoot>
<SubRoot>
<type>B</type>
<mand>Y</mand>
<Section>A</Section>
</SubRoot>
</root>
从上面的xml文件中我怎样才能从XSL中的任何type
节点获取SubRoot
元素的值。SubRoot
节点的数量是未知的。它可以是一个,两个,三个或三个以上。
我不想使用模板和每个循环。
我尝试了以下内容,但我没有得到任何价值
<xsl:if test="(/root/SubRoot/[Section = 'B'])">
<xsl:value-of select="/root/SubRoot/@type"/>
</xsl:if>
请建议我一些方法。必须赞赏任何建议和解决方案。
答案 0 :(得分:2)
假设我想从第二个节点
中选择类型
使用:
<xsl:value-of select="/root/SubRoot[2]/type"/>
从第二个type
节点中提取SubRoot
值。
根据您的尝试判断,您需要来自type
节点的SubRoot
值Section
的值为“B”。为此,请使用:
<xsl:value-of select="/root/SubRoot[Section='B']/type"/>