在xslt中选择根节点时如何忽略特定的子节点?

时间:2014-09-29 07:10:57

标签: xml xslt xslt-2.0

此图片中给出的当前编码,我想忽略输出中的<bookmeta>内容如何可能 image

1 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。在您的情况下,我要么更改模板以匹配<book>而不是根(请记住 - 内置模板将自动为您处理根)并使用except运算符或者我会写一个用于抑制bookMeta元素的模板。

方法1

<xsl:template match="book">
    <!-- you probably want to add some sort of output element here! -->
    <xsl:apply-templates select="node() except bookMeta"/>
</xsl:template>

方法2

<xsl:template match="/">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="bookMeta"/>

我建议您正常使用第二种方法 - 您没有对原始模板进行任何更改,如果您希望稍后处理bookMeta,则会将更改隔离开来。