2010-04-23 200 views
2

我有一個像document.evalute功能,給予例外

res = doc.evalute(xpathExpr,doc, 
        function(prefix) {return namespaces[prefix] || null;}, 
        XPathResult.ANY_TYPE,null); 

這裏的文檔代碼爲DOM文檔節點

當我像這樣

for(i in doc) alert(i); 

循環中運行它給出評價方法

但是當我試圖使用DOM節點上的這種方法,給我的錯誤,如

xpathResult沒有定義...

我現在在Android瀏覽器的工作提前

感謝....

回答

2
XPathResult.ANY_TYPE 

它不能保證的是,DOM Level 3的XPath的XPathResult接口將實際上表示爲window成員XPathResult。實際上,在window中,沒有將DOM接口指定爲構造函數。在大多數非IE瀏覽器中,其中很多都是。但Android的瀏覽器似乎不支持evaluateHTMLDocument;我想這就是爲什麼它不提供XPathResult

所以如果你想得到一個像ANY_TYPE這樣的靜態成員,唯一可靠的方法就是讓這個類的實例已經存在,並從中訪問.ANY_TYPE。由於此時您還沒有XPathResult,因此您最好只是說0

+0

感謝的人對您的回覆..... 但是,什麼是給予evalute方法的支持時,它的返回類型對象的點是不存在的.... 它像 一個函數返回int和int是沒有定義.... 其次 如果xpathResult沒有定義,並且selectnode也不是有.... 爲什麼我使用Android瀏覽器XPath查詢... – 2010-04-24 04:36:21

+0

同樣,你不應該使用' XPathResult'直接在*任何*網頁瀏覽器。它只是一個副作用,它在某些瀏覽器中作爲全局變量存在。就像試圖獲取'Node.ELEMENT_NODE'(這在IE中不起作用);沒有標準說'window.XPathResult'應該存在。 – bobince 2010-04-24 08:37:14

+0

搞到現在您的點... ... 最後幫助... 你能告訴我如何使用XPath查詢在Android瀏覽器。 我有一個文件的DOM節點xpath表達式, 我不得不返回節點的滿足在XML文檔的xpth列表。 – 2010-04-25 04:35:30

0

嘗試使用Components.interfaces.nsIDOMXPathResult而不是XPathResult