Xml document.evalute函数给出异常
我有一个类似的代码Xml document.evalute函数给出异常,xml,android,dom,xpath,Xml,Android,Dom,Xpath,我有一个类似的代码 res = doc.evalute(xpathExpr,doc, function(prefix) {return namespaces[prefix] || null;}, XPathResult.ANY_TYPE,null ); 这里的doc是DOM文档节点 当我像这样跑一圈的时候 for(i in doc) alert(i); 给出了评价方法 但当我尝试在dom节点上使用此方法时,它会给我以下错
res = doc.evalute(xpathExpr,doc,
function(prefix) {return namespaces[prefix] || null;},
XPathResult.ANY_TYPE,null );
这里的doc是DOM文档节点
当我像这样跑一圈的时候
for(i in doc) alert(i);
给出了评价方法
但当我尝试在dom节点上使用此方法时,它会给我以下错误
未定义xpathResult
我在安卓浏览器中工作
提前谢谢
XPathResult.ANY_TYPE
不能保证DOM级别3 XPathXPathResult
接口将实际表示为名为XPathResult
的窗口
成员。事实上,没有一个DOM接口被指定为在窗口中反映为构造函数。在大多数非IE浏览器中,很多都是。但是Android的浏览器似乎不支持HTMLDocument上的评估;我想这就是为什么它不提供XPathResult的原因
因此,如果您想要获得像ANY\u TYPE
这样的静态成员,唯一可靠的方法是已经拥有该类的实例,并从该类访问。ANY\u TYPE
。既然你现在还没有XPathResult,你最好还是说0
试着使用组件.接口.nsIDOMXPathResult
而不是XPathResult
谢谢你的回复。。。。。但是,当evalute方法的返回类型对象不存在时,提供evalute方法支持有什么意义呢。。。。这有点像一个返回int的函数,int没有定义。。。。第二,如果没有定义xpathResult,并且selectnode也不存在。。。。为什么我要在android浏览器中使用xpath查询……同样,您不应该在任何web浏览器中直接使用XPathResult
。在某些浏览器中,它作为全局变量出现只是一个副作用。例如尝试获取节点.ELEMENT\u节点
(在IE中不起作用);没有任何标准说明窗口。XPathResult
应该存在。现在明白你的意思了。。。最后一个帮助。。。您能告诉我如何在android浏览器中使用xpath查询吗。我有一个文档dom节点xpath表达式,我必须在xml文档中返回满足xpth的节点列表。好的,我刚刚加载了emulator以进行检查,而且似乎与成熟的Chrome不同,Android浏览器在xml或HTML文档上都不支持dom级别3 xpath。我没有得到评估中列出的(文档中的I)警报(I)代码>全部。可能性: