如何通过xslt

时间:2015-11-26 00:50:45

标签: xml xslt xslt-2.0

我有以下xml。

<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>

感谢。

1 个答案:

答案 0 :(得分:3)

要删除具有name元素的特定规则元素,该元素包含文本,您在匹配中应该只需要:

<xsl:template match="rule[name[text()='bb']]">