【问题标题】: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>

当应用于您的输入时,将产生预期的输出。但这可能只是一个巧合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 2021-02-02
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    相关资源
    最近更新 更多