Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测xml对象类型_Javascript_Xml_Internet Explorer - Fatal编程技术网

Javascript 检测xml对象类型

Javascript 检测xml对象类型,javascript,xml,internet-explorer,Javascript,Xml,Internet Explorer,多年来,我一直在努力实现一种健壮的浏览器独立方式,即在javascript中使用xpath xml文件加载和导航;特别是在IE方面 我饶有兴趣地阅读了Ref:-备注段落,该段落导致IE在IE8或IE9之前开始支持XMLHttpRequest,但.responseXML仍然返回MSXML对象,而不是本机XML对象。在IE10中,它可能返回也可能不返回本机XML对象 此外,我还发现,如果我碰巧有一个ActiveX版本,其中doc可能是ActiveX对象,也可能不是ActiveX对象,那么: if(d

多年来,我一直在努力实现一种健壮的浏览器独立方式,即在javascript中使用xpath xml文件加载和导航;特别是在IE方面

我饶有兴趣地阅读了Ref:-备注段落,该段落导致IE在IE8或IE9之前开始支持XMLHttpRequest,但.responseXML仍然返回MSXML对象,而不是本机XML对象。在IE10中,它可能返回也可能不返回本机XML对象

此外,我还发现,如果我碰巧有一个ActiveX版本,其中doc可能是ActiveX对象,也可能不是ActiveX对象,那么:

if(doc.selectNodes)
  return doc.selectNodes(....);
导致if表达式出现异常,而不是计算为Falsy,这是a***中的一个难题

这就是我的问题!,即使IE从XHR.responseXML返回本机XML对象,我们仍然不能使用document.evaluate或xmlDoc.evaluate来执行xpath导航,这是真的吗

我似乎已经发现,如果我在IE中使用XHR并取回一个原生XML文档,我根本无法执行xpath。结果是,我不得不强制使用新的ActiveXObjectMsxml2.DOMDocument.3.0,而不是所有IE的XHR

有什么建议就好了。如果我想使用xpath,我简直不敢相信我必须在IE中使用Msxml2.DOMDocument.3.0


谢谢。

这对我来说仍然是一个问题,尽管现在IE11已经过时,但事情更加复杂,因为IE11从XHR.responseXML返回一个原生XML文档,而不是MSXML对象。任何帮助都将不胜感激。