2012-07-24 129 views
2

我正在嘗試爲xml創建一個跨瀏覽器界面,特別是使用XPath表達式來選擇節點。將xpathResult.snapshotItem存儲在本地變量中?

IE很容易:

this.documentElement.selectNodes(xPathStr); 

返回一個對象,讓陣列狀訪問(results[i]results(i))。

但是,Firefox/chrome並不那麼容易。

this.xpathEvaluator.evaluate(xPathStr, this.documentElement, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); 

返回可以通過迭代或訪問幾乎陣列狀使用results.snapshotItem(i)一個XPathResult。

我試着做

var items = results.snapshotItem; 

但是當我試圖使用它(「關於WrappedNative原型對象非法操作」),這給了我一個錯誤。

有關如何將其緩存爲數組變量的任何想法,還是我堅持手動創建數組然後返回?

回答

0

我相信你需要restults切換到節點:

var item = nodes.snapshotItem[i]; 

我工作的一個類似的項目(不同的問題),但是這對我的工作。不過,我猜你可以這樣做:

var items = nodes.snapshotItem; 

和以後調用項目[1]。雖然我沒有測試過它。

+0

歡迎來到本網站!最好知道你證明了一個有用的答案,但感謝你的參與 – 2013-04-04 02:59:11