如何使用XSLT将XML插入另一个XML文件?

如何使用XSLT将XML插入另一个XML文件?,xml,xslt,insert,Xml,Xslt,Insert,我查看了这个线程,以了解如何使用XSLT将XML插入到XML中 但我有一个问题,因为我需要在两个孙子节点之间插入XML。 例如,我想在该文件的..和..之间插入.. <root> <child1> <a>...</a> <r>...</r> <t>...</t> <z>...</z> </child1> </root&g

我查看了这个线程,以了解如何使用XSLT将XML插入到XML中

但我有一个问题,因为我需要在两个孙子节点之间插入XML。 例如,我想在该文件的
..
..
之间插入
..

<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>

...
...
...
...
创建此文件的步骤

<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>

...
...
...
...
...
感谢您的帮助。

一个标准的“身份转换”加上一个模板,以匹配元素
,然后插入

<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>

...

您是否只在寻找基于XSLT的解决方案?只使用xpath和一些java编码如何?如果回答者解决了您的问题,通常会单击答案左上角的复选框将其标记为“已接受”。