【问题标题】:XSLT - Moving nodes to a parent nodeXSLT - 将节点移动到父节点
【发布时间】:2016-03-01 17:23:15
【问题描述】:
我需要一个 XSLT 来将“节点”从 CATALOG/NODES/NODE[1] 移动到 CATALOG/NODES/NODE[0]。
我尝试了一切,但没有任何效果:(
我的 XML 文件:
<CATALOG>
<NODES>
<NODE>
<NODES/>
<NODES/>
</NODE>
<NODE>
<NODES/>
<NODES/>
<NODES/>
</NODE>
</NODES>
</CATALOG>
应该是这样的:
<CATALOG>
<NODES>
<NODE>
<NODES/>
<NODES/>
<NODES/>
<NODES/>
<NODES/>
</NODE>
</NODES>
</CATALOG>
图片上我的 XML 的详细信息!
Moving the NODES up
【问题讨论】:
标签:
xml
xslt
xslt-1.0
xslt-2.0
【解决方案1】:
这个问题相当模糊。 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>
当应用于您的输入时,将产生预期的输出。但这可能只是一个巧合。