0
我要刪除元素d
和評論<!-- d -->
當家長有屬性c="string1"
XSLT:刪除一個孩子時,父母有一個屬性
輸入:
<a>
<b c="string1">
<!-- d -->
<d>
<e/>
</d>
<f/>
</b>
<b c="string2">
<!-- d -->
<d>
<e/>
</d>
<f/>
</b>
</a>
所需的輸出:
<a>
<b c="string1">
<f/>
</b>
<b c="string2">
<!-- d -->
<d>
<e/>
</d>
<f/>
</b>
</a>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<!-- Identity transform -->
<xsl:template match="@*|node()" name="identity">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- Those templates do not work -->
<xsl:template match="d[???]" />
<xsl:template match="comment()="d" />
</xsl:stylesheet>
你想要的平等表達式是'。 ='d''。不要忽視'd'兩邊的空間。 –
此外,使用普通路徑表達式代替祖先軸上的謂詞表達式測試節點更爲傳統。例如,'match =「b [@ c ='string1']/d」'。 –