2016-03-01 215 views
0

我需要XSLT將CATALOG/NODES/NODE [1]中的「NODES」移動到CATALOG/NODES/NODE [0]。 我什麼都試過,但沒有做的工作還:(XSLT - 將節點移動到父節點

我的XML的文件:

<CATALOG> 
<NODES> 
<NODE> 
<NODES/> 
<NODES/> 
</NODE> 
<NODE> 
<NODES/> 
<NODES/> 
<NODES/> 
</NODE> 
</NODES> 
</CATALOG> 

應該是這樣:我對畫面XML的

<CATALOG> 
<NODES> 
<NODE> 
<NODES/> 
<NODES/> 
<NODES/> 
<NODES/> 
<NODES/> 
</NODE> 
</NODES> 
</CATALOG> 

詳細

Moving the NODES up

+0

http://stackoverflow.com/help/someone-answers –

回答

0

這個問題相當含糊。AFAICT ,以下樣式表:當施加到你的輸入

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
<xsl:strip-space elements="*"/> 

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

<xsl:template match="/CATALOG/NODES"> 
    <xsl:copy> 
     <NODE> 
      <xsl:apply-templates select="NODE/NODES"/> 
     </NODE> 
    </xsl:copy> 
</xsl:template> 

</xsl:stylesheet> 

會產生預期的輸出。但那可能只是一個巧合。