2011-08-16 100 views
0

我需要有一個列表包含XPath函數將這樣工作:在XPath中,如何檢查列表是否包含特定項目?

//*[contains(("one", "two", "three"), "one") 

是否有這樣的事?

僅適用於上下文,這是我試圖解決這個問題:我有一個DOM樹

<element blah="one two three"> 

<element blah="bone two three"> 

<element blah="two three one"> 

我要選擇的第一和第三,因爲它們含有錐一個

//*[contains(tokenize(@blah,'\s+'),'one')] 

這是我到目前爲止,但它似乎不是一個有效的XPath查詢。

我知道記號化以這種格式返回的東西:

("one", "two", "three") 

我需要的是能夠檢查什麼是在該列表中。

回答

1

簡單:

"one" = ("one", "two", "three") 

或者更長時間:

some $i in ("one", "two", "three") satisfies $i eq "one" 
+0

.//* [包含(@類, 'ibmPortalControl')] // * [包含(CONCAT(」」, @class,''),'decoration-title')] 正是我所需要的。通過在每一面用空格包裹'裝飾標題',它很容易找到,並不意味着我們必須搜索結果集。 –

相關問題