我查看了这个帖子,了解如何使用XSLT Insert XML node at a specific position of an existing document
将XML插入XML但是我有一个问题,因为我需要在两个宏子节点之间插入XML。
例如,我想在此文件中的<s>...</s>
和<r>...</r>
之间插入<t>...</t>
<root>
<child1>
<a>...</a>
<r>...</r>
<t>...</t>
<z>...</z>
</child1>
</root>
创建此文件
<root>
<child1>
<a>...</a>
<r>...</r>
<s>...</s>
<t>...</t>
<z>...</z>
</child1>
</root>
感谢您的帮助。
答案 0 :(得分:2)
标准的“身份转换”加上一个匹配元素<r>
的模板,然后插入<s>...</s>
:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="r">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
<s>...</s>
</xsl:template>
</xsl:stylesheet>