【问题标题】:Omit unused XML elements during XSLT transformation [duplicate]在 XSLT 转换期间省略未使用的 XML 元素 [重复]
【发布时间】:2017-01-26 14:21:53
【问题描述】:

我正在尝试使用 XSLT 转换 XML 文档。原始 XML 文档中的一些元素在我的 XSL 文档中未使用,但这些元素的值被添加到结果中。我怎样才能省略这些元素?示例:

XML

<?xml version="1.0"?>
<data>
    <id>1</id>
    <name>Test</name>
    <description>Test description</description>
</data>

XSL

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
    <xsl:template match="id">
        <id>
            <xsl:apply-templates/>
        </id>
    </xsl:template>
</xsl:stylesheet>

结果

<id>1</id>TestTest description

预期结果

<id>1</id>

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    你看到的是built-in template rules默认复制文本节点的结果。

    防止这种情况的最简单方法是更具体 - 例如,这样做:

    <xsl:template match="/data">
        <xsl:copy-of select="id"/>
    </xsl:template>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 2013-04-06
      • 2021-07-23
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      相关资源
      最近更新 更多