如果滿足某些條件,我無法弄清楚如何洗掉父節點:
<RSS>
<ITEM>
<PRODUCT_ID>75000</PRODUCT_ID>
<STORAGE>0</STORAGE>
<VARIANT id="2">
<ID>75001</ID>
<STORAGE>1</STORAGE>
</VARIANT>
<VARIANT id="3">
<ID>75002</ID>
<STORAGE>0</STORAGE>
</VARIANT>
</ITEM>
<ITEM>
<PRODUCT_ID>75100</PRODUCT_ID>
<STORAGE>0</STORAGE>
<VARIANT id="2">
<ID>75101</ID>
<STORAGE>0</STORAGE>
</VARIANT>
<VARIANT id="3">
<ID>75102</ID>
<STORAGE>0</STORAGE>
</VARIANT>
</ITEM>
<ITEM>
<PRODUCT_ID>75500</PRODUCT_ID>
<STORAGE>1</STORAGE>
<VARIANT id="2">
<ID>75501</ID>
<STORAGE>0</STORAGE>
</VARIANT>
<VARIANT id="3">
<ID>75502</ID>
<STORAGE>0</STORAGE>
</VARIANT>
</ITEM>
<ITEM>
<ID>75088</ID>
<STORAGE>1</STORAGE>
</ITEM>
<ITEM>
<ID>75089</ID>
<STORAGE>0</STORAGE>
</ITEM>
</RSS>
如果出現以下情況,我想洗掉父節點:
- ITEM/STORAGE = 0,但如果 ITEM/VARIANT/STORAGE 大于 (>) 則不是 0。
輸出應該是:
<RSS>
<ITEM>
<PRODUCT_ID>75000</PRODUCT_ID>
<STORAGE>0</STORAGE>
<VARIANT id="2">
<ID>75001</ID>
<STORAGE>1</STORAGE>
</VARIANT>
<VARIANT id="3">
<ID>75002</ID>
<STORAGE>0</STORAGE>
</VARIANT>
</ITEM>
<ITEM>
<PRODUCT_ID>75500</PRODUCT_ID>
<STORAGE>1</STORAGE>
<VARIANT id="2">
<ID>75501</ID>
<STORAGE>0</STORAGE>
</VARIANT>
<VARIANT id="3">
<ID>75502</ID>
<STORAGE>0</STORAGE>
</VARIANT>
</ITEM>
<ITEM>
<ID>75088</ID>
<STORAGE>1</STORAGE>
</ITEM>
</RSS>
因此,如果 ITEM/STORAGE(在這種情況下需要檢查它是否有子 VARIANT/STORAGE 并且大于 0)或 ITEM/VARIANT/STORAGE 為 0,我想洗掉父節點。
uj5u.com熱心網友回復:
如果出現以下情況,我想洗掉父節點:
ITEM/STORAGE = 0,但如果 ITEM/VARIANT/STORAGE 大于 (>) 則不是 0。
所以第一部分 ( ITEM/STORAGE = 0) 轉換為這個 XPath:
ITEM[STORAGE=0]
第二部分 ( but not if ITEM/VARIANT/STORAGE is greater (>) than 0) 轉換為:
ITEM[not(VARIANT/STORAGE > 0)]
您可以將它們組合成一個 XPath:
ITEM[STORAGE=0][not(VARIANT/STORAGE > 0)]
將它與身份轉換 (XSLT 1.0/2.0) 或 xsl:mode (XSLT 3.0) 結合起來,你就完成了......
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:mode on-no-match="shallow-copy"/>
<xsl:template match="ITEM[STORAGE=0][not(VARIANT/STORAGE > 0)]"/>
</xsl:stylesheet>
小提琴:http : //xsltfiddle.liberty-development.net/eiorv18
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/365395.html
