我有下面的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>
请建议我一些方法。任何建议和解决方案都必须感谢。
最佳答案
假设我要从第二个节点中选择类型
采用:
<xsl:value-of select="/root/SubRoot[2]/type"/>
从第二个
type
节点提取SubRoot
值。从您的尝试来看,您需要
type
节点中的SubRoot
值,其中Section
的值为“ B”。为此,请使用:<xsl:value-of select="/root/SubRoot[Section='B']/type"/>