동적 루트 요소 (정적 이름 아님)와 그 루트 요소 아래에 일부 자식이있는 xml 트리가 있습니다. 이제 xslt 스크립트를 사용하여 두 번째 위치에 요소를 추가하려고합니다. 내가 어떻게 해?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>
완벽하게 작동했습니다. 고마워요! – Hauke