今天在查看Pentaho的CDE组件代码时发现了利用ActiveXObject
对象将字符串成DOM对象的代码,其中涉及到如何在不支持DOMParser
API的浏览器中将字符串解析成DOM对象的兼容技术。具体代码如下:
function parseXML (sText) { if(!sText) { return null; } var xmlDoc; try { //Firefox, Mozilla, Opera, etc. return (new DOMParser()).parseFromString(sText, "text/xml"); } catch(e) { try { //Internet Explorer xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(sText); return xmlDoc; } catch(e) { } } return null; }
ActiveXObject
相关文档地址:
老IE浏览器XML解析器:
DOMParser
浏览器级别API将字符串解析成DOM对象: