在解析的XML文档中出现XPath错误(WrongDocumentError)。

9 浏览
0 Comments

在解析的XML文档中出现XPath错误(WrongDocumentError)。

我正在创建一个适用于Android的Firefox扩展,并且在从XMLHttpRequest获取的XML文档中遇到了问题:我找不到一种选择节点的方法。我找到的最好的解决方案是这样的,但是在对文档执行xpath选择时我遇到了以下错误:

WrongDocumentError: 不能在创建该节点的文档之外的文档中使用节点

以下是我的代码:

var parser = Cc["@mozilla.org/xmlextras/domparser;1"].createInstance(Ci.nsIDOMParser);

var parsedXml = parser.parseFromString(xmlhttp.responseText, "text/xml");

var xpathExpression = "//td[contains(.,'Raw text')]/../td[2]/pre";

var res = window.content.document.evaluate(xpathExpression, parsedXml, null, window.XPathResult.STRING_TYPE , null);

如果我使用下一行代码替换"evaluate":

var res = parsedXml.selectSingleNode(xpathExpression);

那么我会得到以下错误:

[JavaScript错误:"parsedXml.selectSingleNode不是一个函数"

{file:"resource://gre/modules/addons/XPIProvider.jsm ->

jar:file:///data/data/org.mozilla.fennec/files/mozilla/ggz9zzjr.default/extensions/[email protected]!/bootstrap.js"

line: 61}]

0