0
我的目標就是用這個XSLT樣式表刪除整個LoanSecondaryStatus節點時StatusDate是1900-01-01T00:00:00,但除此之外,保留節點時,它是其他任何日期。刪除XML節點基於屬性值與XSLT
我有下面的XML:
<Loans>
<Loan>
<LoanSecondaryStatus>
<StatusName>Application Started</StatusName>
<StatusDate>1900-01-01T00:00:00</StatusDate>
</LoanSecondaryStatus>
<LoanSecondaryStatus>
<StatusName>Application Finished</StatusName>
<StatusDate>2016-03-02T00:00:00</StatusDate>
</LoanSecondaryStatus>
</Loan>
</Loans>
這裏是我使用的嘗試和刪除LoanSecondaryStatus節點的XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/LoanSecondaryStatus[not(StatusDate='1900-01-01T00:00:00')]"/>
</xsl:stylesheet>
燁奏效。如果沒有「不」,該如何運作? – dc922
@ dc922你的第一個模板是[恆等變換(https://en.wikipedia.org/wiki/Identity_transform)模板。它按原樣複製*。第二個模板提供了一個例外。它與您想要移除的節點相匹配並且不輸出任何內容。 –