在 Firefox JavaScript 控制台中:
parser = new DOMParser();
foo = parser.parseFromString('<foo></foo>', "text/xml");
res = foo.evaluate("/foo", foo, null, 0, null);
res.iterateNext();
> [object Element]
foo = parser.parseFromString('<foo xmlns="http://foo.bar.baz/quux"></foo>', "text/xml");
res = foo.evaluate("/foo", foo, null, 0, null);
res.iterateNext();
> null
res = foo.evaluate("*[1]", foo, null, 0, null);
res.iterateNext();
> [object Element]
如果 XML 文档不包含 xmlns,则它会被正确解析和查询。如果是这样,我们将无法再通过标签和属性名称进行查询。但是,使用通配符和索引进行查询确实有效。在 Chrome 中也观察到了同样的情况。创建和使用默认命名空间解析器以及自定义命名空间解析器并没有帮助。有什么建议么?