2015-11-26 80 views
2

我有以下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> 

謝謝。

+0

「不工作」 - 以什麼方式?看看匹配參數,它可能會刪除規則元素而不是特定的規則? – HorusKol

回答

3

要刪除它有一個名字元素,它具有文本的特定規則元素,你應該需要在你的比賽是:

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

非常感謝。它現在起作用!其實我是通過該xslt刪除標記。 – user1321466