2012-06-10 2 views
0

Спасибо за ответ. Существует небольшое изменение в требовании. Данная структура XML является:Добавление дочерних элементов к одному родительскому узлу в xml с использованием xslt

<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 вроде follwing:

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

Я хочу результирующую XML как:

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

Может кто-нибудь помочь мне достичь этого с помощью XSLT.

Заранее спасибо.

+0

Каков ваш текущий XSLT? –

+1

[Что вы пробовали] (http://whathaveyoutried.com) –

ответ

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]"/> 
Смежные вопросы