【发布时间】:2012-09-20 14:10:04
【问题描述】:
我需要使用 xslt 转换 XML。
我想将具有子节点的节点转换为他的标签名称的节点 是父母的名字,他的价值是他的一个孩子的价值。
示例:
给定的xml:
<Parent>
<ChildA>1</ChildA>
<ChildB>2</ChildB>
</Parent>
所需的 xml 输出:
<Parent>2</Parent>
【问题讨论】:
标签: xml xslt xml-parsing
我需要使用 xslt 转换 XML。
我想将具有子节点的节点转换为他的标签名称的节点 是父母的名字,他的价值是他的一个孩子的价值。
示例:
给定的xml:
<Parent>
<ChildA>1</ChildA>
<ChildB>2</ChildB>
</Parent>
所需的 xml 输出:
<Parent>2</Parent>
【问题讨论】:
标签: xml xslt xml-parsing
您没有指定您对哪个子节点感兴趣....
类似这样的:
<xsl:template match="Parent">
<Parent>
<xsl:value-of select="ChildB"/>
</Parent>
</xsl:template>
使用名为ChildB(如果有)的第一个子节点的值。这个:
<xsl:template match="Parent">
<Parent>
<xsl:value-of select="*[2]"/>
</Parent>
</xsl:template>
使用第二个子节点的值。这个:
<xsl:template match="Parent">
<Parent>
<xsl:value-of select="*[last()]"/>
</Parent>
</xsl:template>
使用最后一个子节点的值....
【讨论】:
<xsl:element name="../node-name()">
<xsl:value-of select="."/>
</xsl:element>
【讨论】:
name="{../name()}"