我想知道如何在xslt中找到特定节点的第一个子节点名称。
我有一个xml:
<name>
<body>
<para>
<text> some text</text>
</para>
</body>
</name>
我可以使用body / node()[1] / local-name()?
获取名称<xsl:template match="name">
<name>
<xsl:variable name="firstchild" select="body/node()[1]/local-name()">
</xsl:variable>
<xsl:value-of select="$firstchild" />
</name>
</xsl:template>
输出应为
<name>
para
</name>
答案 0 :(得分:6)
尝试这样的事情......
<xsl:template match="name">
<name>
<xsl:variable name="firstchild" select="name(body/*[1])"/>
<xsl:value-of select="$firstchild" />
</name>
</xsl:template>
或者,如果您实际上不需要变量,只需...
<xsl:template match="name">
<name>
<xsl:value-of select="name(body/*[1])" />
</name>
</xsl:template>
以下是第二个示例的xmlplayground ...在输出窗口中查看<name>para</name>
点击View Source
。