ActiveXObject 是 IE6–IE10 中创建 COM XML 解析器(如 MSXML2.DOMDocument)的接口,现代浏览器已弃用;需按版本降级尝试、加 try/catch 和 parseError 校验,推荐封装 createXmlDom() 函数。

ActiveXObject 是 IE(特别是 IE6–IE10)中用于创建 COM 对象的 JavaScript 接口,处理 XML 时常用它来实例化 Microsoft.XMLDOM 或 MSXML2.DOMDocument 等 XML 解析器。现代浏览器已完全弃用 ActiveXObject,因此该方式仅适用于旧版 IE 兼容场景。
在 IE 中加载或解析 XML,需先创建支持 XML 的 ActiveXObject 实例。推荐优先尝试较新版本(如 MSXML2),再降级兼容:
new ActiveXObject("MSXML2.DOMDocument.6.0") —— 最新稳定版(MSXML 6.0),推荐首选new ActiveXObject("MSXML2.DOMDocument.3.0") —— 广泛兼容(MSXML 3.0),多数 IE6+ 支持new ActiveXObject("Microsoft.XMLDOM") —— 最老版本,仅作兜底(如 IE5.5)创建对象后,通过 loadXML() 解析字符串,或 load() 加载外部 XML 文件:
xmlDoc.loadXML("<root><item>hello</item></root>");
xmlDoc.async = false; xmlDoc.load("data.xml");(注意:同步加载更简单,但会阻塞页面;异步需监听 onreadystatechange)if (xmlDoc.parseError.errorCode !== 0) { console.log(xmlDoc.parseError.reason); }
使用标准 DOM 方法(类似现代浏览器),但注意 IE 下部分方法大小写敏感或行为略有差异:
本文档主要讲述的是JSON的简单用法;JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
1
立即学习“Java免费学习笔记(深入)”;
xmlDoc.getElementsByTagName("item")、xmlDoc.selectSingleNode("//item")(支持 XPath)node.setAttribute("id", "123")
node.text(IE 特有,非标准;也可用 node.firstChild.nodeValue)xmlDoc.xml(IE 特有属性,返回格式化/未格式化的 XML 字符串)因 ActiveXObject 可能被禁用(如 IE 安全策略设为“高”)、版本缺失或脚本错误,务必加 try/catch 和 fallback 判断:
typeof ActiveXObject !== "undefined" 初步判断是否支持try { xmlDoc = new ActiveXObject(progId); } catch(e) { continue; }
xmlDoc.readyState === 4 && xmlDoc.parseError.errorCode === 0 再继续处理基本上就这些。ActiveXObject 处理 XML 在 IE 里不算复杂,但容易忽略版本兼容和错误校验,实际项目中建议封装一个健壮的 createXmlDom() 工厂函数统一处理。
以上就是JavaScript的ActiveXObject怎么在IE中处理XML的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号