2016-06-07 26 views
0

XML是像下面如何通過使用xslt匹配內容值從xml文檔中刪除內容?

<document><content name="State">Tripura</content><content name="District">West Tripura</content><content name="Year">2005</content><content name="January">N.A.</content><content name="February">5.8</content><content name="March">199.4</content><content name="April">99.8</content><content name="May">317.1</content><content name="June">166.5</content><content name="July">317.7</content><content name="August">403.3</content><content name="September">286.8</content><content name="October">200.9</content><content name="November">0</content><content name="December">0.6</content><content name="Annual_Total">N.A.</content></document> 

我想忽略來自文件內容,其中內容=「N.A。」使用xsl。有誰知道如何做到這一點,我是新來的XSL。

我希望輸出格式如下。

<document><content name="State">Tripura</content><content name="District">West Tripura</content><content name="Year">2005</content><content name="February">5.8</content><content name="March">199.4</content><content name="April">99.8</content><content name="May">317.1</content><content name="June">166.5</content><content name="July">317.7</content><content name="August">403.3</content><content name="September">286.8</content><content name="October">200.9</content><content name="November">0</content><content name="December">0.6</content></document> 

回答

1

你需要的是一個「遞歸複製」一個額外的模板排除的東西,你不想

<xsl:transform version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 

<xsl:output method="xml"/> 

<xsl:template match="@*|*"> 
    <xsl:copy> 
     <xsl:apply-templates select="@*|*"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="*[. = 'N.A.']"/> 
</xsl:transform>