使用xslt将子项追加到xml中的单父节点

时间:2012-06-10 16:50:30

标签: xml xslt

感谢您的回复。要求略有变化。 给定的xml结构是:

<A id=1>
<b>data1</b>
</A>
<A id=1>
<b>data2</b>
</A>

<A id=2>
<b>data1</b>
</A>
<A id=1>
<b>data3</b>
</A>
<A id=2>
<b>data5</b>
</A>

结果xml应为:

<A id=1>
<b>data1</b>
<b>data2</b>
<b>data3</b>
</A>
<A id=2>
<b>data1</b>
<b>data5</b>
</A>

请告诉我,我怎样才能做到这一点。 提前谢谢。

我有一个xml结构,如下所示:

<A>
<a1></a1>
</A>
<A>
<b1></b1>
</A>
<A>
<c1></c1>
</A>

我希望得到的xml为:

<A>
<a1></a1>
<b1></b1>
<c1></c1>
</A>

任何人都可以帮助我使用xslt实现这一目标。

提前致谢。

1 个答案:

答案 0 :(得分:2)

<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="A[1]">
  <xsl:copy>
    <xsl:apply-templates select="@* | node() | following-sibling::A/node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="A[position() &gt; 1]"/>