2016-04-03 67 views
1

我是XML和XSLT編程的新手。 任何人都可以解釋下面的XPath表達式的含義嗎?XPath表達式的含義

<xsl:apply-templates select="//Order[Header/string-length(ORDERID) > 0]/Header/SAP_WBSELEMENT[not(. = following::SAP_WBSELEMENT)]" /> 

回答

1

含義選擇SAP_WBSELEMENT元素,包括那些重複的字符串值只有一次,那是Header元素是文檔中的任何Order元素與Header孩子與ORDERID與孩子孩子非空字符串值。


擊穿:從XPath的回前結束工作...

選擇SAP_WBSELEMENT元素,但不包括那些有重複的字符串值,

SAP_WBSELEMENT[not(. = following::SAP_WBSELEMENT)] 

這是Header元素的孩子,

Header/ 

是那些Order元素與Header孩子的ORDERID與非空字符串值的孩子,

Order[Header/string-length(ORDERID) > 0]/ 

文檔中任何地方,

// 
+1

我會加上'[不((。 = following :: SAP_WBSELEMENT)]'與其他消除重複的方法相比,效率可能非常低,除非源文檔的確非常小。 –