document.evaluate函数给出异常

时间:2010-04-23 12:50:32

标签: 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节点上使用此方法时,它给出了类似

的错误

未定义xpathResult ...

我在android浏览器中工作

提前感谢....

2 个答案:

答案 0 :(得分:2)

XPathResult.ANY_TYPE

不能保证DOM Level 3 XPath XPathResult接口实际上会被表示为window成员XPathResult。事实上,没有任何DOM接口被指定为window中的构造函数。在大多数非IE浏览器中,很多都是。但Android的浏览器似乎不支持evaluate上的HTMLDocument;我猜这就是为什么它不提供XPathResult

因此,如果您想获得像ANY_TYPE这样的静态成员,唯一可行的方法就是拥有该类的实例,并从中访问.ANY_TYPE。由于此时您还没有XPathResult,因此您最好只说0

答案 1 :(得分:0)

尝试使用Components.interfaces.nsIDOMXPathResult代替XPathResult