今天在查看Pentaho的CDE组件代码时发现了利用ActiveXObject对象将字符串成DOM对象的代码,其中涉及到如何在不支持DOMParserAPI的浏览器中将字符串解析成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相关文档地址:msdn.microsoft.com/zh-cn/libra…
老IE浏览器XML解析器:www.runoob.com/xml/xml-par…
DOMParser浏览器级别API将字符串解析成DOM对象:developer.mozilla.org/en-US/docs/…