pix*_*att 13 javascript xml xpath internet-explorer-11
在我们系统的某一点上,我们使用javascript读取一大块XML,然后使用xPath查询该XML文档.
在IE 11之前,IE支持使用xmldoc.selectSingleNode("// xpath/string")和使用xmldoc.evaluate("// xpath/string")支持的非IE浏览器.这两个都返回了一个类似的对象,然后我们可以进行解释以提取所需的数据.
在IE11中,这些方法似乎都不可用.
似乎IE11对XML文档有一些支持,因为当我使用parseFromString方法使用DOMParser对象读取xml时,它返回一个IE11调试器调用XMLDocument的对象.
感谢@Martin Honnen指出IE11仍然支持一些ActivXObjects!
var doc;
try { 
    doc = new ActiveXObject('Microsoft.XMLDOM'); 
    doc.loadXML(stringVarWithXml); 
    var node = doc.selectSingleNode('//foo'); 
} catch (e) { // deal with case that ActiveXObject is not supported }
我已经使用了"Microsoft.XMLDOM",因为它在这里被称为对系统中存在的xml解析器的更通用的调用,因为它听起来像"Msxml2.DOMDocument.6.0"将失败,如果确切的版本不在场.(我们必须在我的地方支持所有IE版本回到6.0!)
这只是一如既往地工作.我遇到的唯一问题是我用来检测IE与其他浏览器的旧开关if (typeof ActiveXObject !== "undefined")失败了,因为我猜他们试图阻止它的使用!
感谢你的帮助.