XSLT:添加节点到根元素

我有简单的XML文件:

<MyRoot> <Value key="TARGET">foo</Value> <Value key="MODEL">bar</Value> <Value key="MANUFACTURER">bla</Value> </MyRoot>

我想添加的Value节点使用XSLT MyRoot。 我无法弄清楚如何。

结果应该是:

<MyRoot> <Value key="TARGET">foo</Value> <Value key="MODEL">bar</Value> <Value key="MANUFACTURER">bla</Value> <Value key="NEWNODE">yeahIMadeIt</Value> </MyRoot>

我至今是:

<xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="/"> <xsl:apply-templates select="@* | *"/> <Value key="NEWNODE">yeahIMadeIt</Value> </xsl:template>

但是,这把根节点下的新的价值点:

<MyRoot> <Value key="TARGET">foo</Value> <Value key="MODEL">bar</Value> <Value key="MANUFACTURER">bla</Value> </MyRoot> <Value key="NEWNODE">yeahIMadeIt</Value>

--------------解决方案-------------

你在正确的轨道上。 你需要改变你的模板匹配。 尝试:

<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>

<xsl:template match="MyRoot">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
<Value key="NEWNODE">yeahIMadeIt</Value>
</xsl:copy>
</xsl:template>

分类:XML 时间:2015-03-15 人气:3
本文关键词: XML,XSLT
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.405 (s). 10 q(s)