2011-04-25 87 views
1

我有一個html文件,我需要找到<object>標記的出現次數。在Java中,我使用XPathExpression //:object[contains(@type,"video/") or contains(@type,"audio/")]來查找<object>標記的出現次數。它正在檢測<object>標籤,但我希望我的文件中存在對象標籤的數量。xpath表達式在html文件中查找元素的所有occerence

result = (Boolean) expression.evaluate(inputSource, XPathConstants.BOOLEAN); 

其中inputSource包含我的html文件。它返回一個布爾值,當我嘗試使用 xpathValue = (Double) expression.evaluate(inputSource, XPathConstants.NUMBER);作爲NaN得到結果時也是這樣。

解決方案是什麼?

+0

順便說一句,你顯示的表達式是無效的XPath。在元素名稱測試中,如果沒有名稱空間前綴,則不能冒冒號。 – LarsH 2011-11-15 17:09:30

回答

2

我在我的Java和XPath有點模糊,但如果你評估

expression.evaluate(inputSource, XPathConstants.NODELIST)

應該會得到一個節點列表的所有節點的匹配你的查詢,你可以得到的長度的名單。

+3

或者,在調用XPath「count(...)」函數的過程中包裝表達式,並將結果評估爲double。 – 2011-04-25 14:26:34

+0

@Michael好的一點,我很少使用Java XPath,所以我很高興你能把這個功能提起來,我不知道它存在。 – 2011-04-25 14:47:16

+0

@邁克爾:非常感謝你..這就是我一直在尋找.. :) – su03 2011-04-26 04:17:35

相關問題