我需要将属性转换为元素,但是在xslt代码下可以执行此操作,但是子元素的属性与值一起在子元素标签内,但我希望子元素后的属性值不在子元素之内。
Xml:
<parent>
<child xml:lang="EN">Value</child>
</parent>
Xslt代码:
<xsl:template match="child/@*">
<xsl:element name="{local-name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
xslt之后:
<parent>
<child><lang>EN</lang>Value</child>
</parent>
但要求是:
<parent>
<child>Value</child>
<lang>EN</lang>
</parent>
答案 0 :(得分:0)
<xsl:template match="parent">
<xsl:element name="parent">
<xsl:apply-templates select="child"/>
<xsl:apply-templates select="child/@*"/>
</xsl:element>
</xsl:template>
<xsl:template match="child/@*">
<xsl:element name="lang">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="child">
<xsl:element name="child">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
According to your given xml you can do like this.