我有一个带有动态根元素(不是静态名称)和该根元素下的一些子元素的 xml 树。现在我想用 xslt 脚本在第二个位置向孩子添加一个元素。我该怎么做?
示例:xml:
<root>
<element1>
<element1a>
..
</element1a>
</element1>
<element2 name="exampleName">This is text.</element2>
</root>
应转换为
<root>
<element1>
<element1a>
..
</element1a>
</element1>
<someNewElement>1234</someNewElement>
<element2 name="exampleName">This is text.</element2>
</root>
到目前为止,我得到的是以下内容。但是使用该解决方案,节点仅添加在第一个位置。我需要它在第二个位置。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:template match="/">
<xsl:apply-templates select="/*"/>
</xsl:template>
<xsl:template match="/*">
<xsl:copy>
<xsl:element name="newElement">4711</xsl:element>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>