Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何通过xslt删除标记(包含特殊标记)_Xml_Xslt_Xslt 2.0 - Fatal编程技术网

Xml 如何通过xslt删除标记(包含特殊标记)

Xml 如何通过xslt删除标记(包含特殊标记),xml,xslt,xslt-2.0,Xml,Xslt,Xslt 2.0,我有以下xml <rules> <rule> <name>aa</name> </rule> <rule> <name>bb</name> </rule> <rule> <name>cc</name> </rule> </rules> aa bb 复写的副本 我想通过xs

我有以下xml

<rules>
  <rule>
    <name>aa</name>
  </rule>

  <rule>
     <name>bb</name>
  </rule>

  <rule>
    <name>cc</name>
  </rule>
</rules>

aa
bb
复写的副本
我想通过xslt删除名称为“bb”的规则。所以输出应该是-

<rules>
      <rule>
        <name>aa</name>
      </rule>


      <rule>
        <name>cc</name>
      </rule>
</rules>

aa
复写的副本
我试过这个,但不起作用

 <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']]">

“不起作用”-以什么方式?看看match参数,它可能会删除rules元素,而不是特定的规则?非常感谢。现在可以用了!。是的,实际上我是通过xslt删除标记的。