如何通过xslt删除标记(其中包含特殊标记)
问题描述:
我有以下xml。如何通过xslt删除标记(其中包含特殊标记)
<rules>
<rule>
<name>aa</name>
</rule>
<rule>
<name>bb</name>
</rule>
<rule>
<name>cc</name>
</rule>
</rules>
我想删除规则,它的名字是通过XSLT“BB”。所以输出应该是 -
<rules>
<rule>
<name>aa</name>
</rule>
<rule>
<name>cc</name>
</rule>
</rules>
我试过这个,但它不起作用。
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//rules[rule[name[text()='bb']]]">
</xsl:template>
谢谢。
答
要删除它有一个名字元素,它具有文本的特定规则元素,你应该需要在你的比赛是:
<xsl:template match="rule[name[text()='bb']]">
+0
非常感谢。它现在起作用!其实我是通过该xslt删除
“不工作” - 以什么方式?看看匹配参数,它可能会删除规则元素而不是特定的规则? – HorusKol