我有以下xml:
<root>
<product>
<some-another-tag>45</some-another-tag>
<provider>1</provider>
</product>
<product>
<some-another-tag>45</some-another-tag>
<provider>2</provider>
</product>
<product>
<some-another-tag>45</some-another-tag>
<provider>3</provider>
</product>
<product>
<some-another-tag>45</some-another-tag>
<provider>1</provider>
</product>
<product>
<some-another-tag>45</some-another-tag>
<provider>8</provider>
</product>
</root>
使用xsl转换我想删除整个<product>
标记,如果其中有<provider>1</provider>
。
我该如何构建这样的模板?
答案 0 :(得分:1)
通常,如果要删除某些元素,则先从身份转换模板开始,然后添加与要删除的元素相匹配的空模板,请参阅http://xsltransform.net/pPzifpk:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="product[provider = 1]"/>
</xsl:transform>