我想转换XML,但只选择具有给定值的特定记录。我怎么能这样做?
以下是XML示例。我只想获得CURRENCY值等于USD的记录。我想用TL货币消除产品。
<PRODUCTS>
<PRODUCT ID="9563">
<CODE><![CDATA[72127]]></CODE>
<NAME><![CDATA[SAMPLE PRODUCT NAME]]></NAME>
<PRICE><![CDATA[57.90]]></PRICE>
<PRICE_DISCOUNT><![CDATA[48.50]]></PRICE_DISCOUNT>
<CURRENCY>USD</CURRENCY>
</PRODUCT>
<PRODUCT ID="9564">
<CODE><![CDATA[72128]]></CODE>
<NAME><![CDATA[SAMPLE ANOTHER PRODUCT NAME ]]></NAME>
<PRICE><![CDATA[67.90]]></PRICE>
<PRICE_DISCOUNT><![CDATA[58.50]]></PRICE_DISCOUNT>
<CURRENCY>TL</CURRENCY>
</PRODUCT>
<PRODUCTS>
答案 0 :(得分:0)
你需要以相反的方式思考问题 - 从身份转换开始(将输入复制到输出不变,你可以在其他问题中找到数百个这样的例子)和然后覆盖它以忽略您 想要保留的元素
<xsl:template match="PRODUCT[not(CURRENCY = 'USD')]" />