在现有节点中使用XSLT插入XML元素
我有以下XML文档:在现有节点中使用XSLT插入XML元素,xslt,Xslt,我有以下XML文档: 现在,我想使用XSLT添加一个标记,以便文档如下所示: 正文 如果我再次重复使用XSLT,它应该只添加另一项: 正文 正文 听起来很容易,不是吗?以下是我尝试了很多东西后得到的最好的: 它完成了/几乎完成了/我所要求的,只是它“忘记”了根元素的属性。我在stackoverflow和其他地方发现了许多其他解决方案,它们与我的解决方案有共同之处,即它们失去了根元素的属性。如何修复此问题?您当前只转换子节点,而不是属性 <xsl:template match
现在,我想使用XSLT添加一个标记,以便文档如下所示:
正文
如果我再次重复使用XSLT,它应该只添加另一项:
正文
正文
听起来很容易,不是吗?以下是我尝试了很多东西后得到的最好的:
它完成了/几乎完成了/我所要求的,只是它“忘记”了根元素的属性。我在stackoverflow和其他地方发现了许多其他解决方案,它们与我的解决方案有共同之处,即它们失去了根元素的属性。如何修复此问题?您当前只转换子节点,而不是属性
<xsl:template match="root">
<xsl:copy>
<xsl:copy-of select="node()|@*"/> <!-- now does attrs too -->
<item>
<xsl:value-of select="$message" />
</item>
</xsl:copy>
</xsl:template>