IE下JS读取xml文件示例代码


Posted in Javascript onAugust 05, 2013

使用JS读取xml文件,这里暂只考虑IE浏览器
step1 创建DOM对象

function createDom() { 
var xmlDoc = null; 
try { //IE 
if (typeof arguments.callee.activeXString != 'string') { 
var versions = [ 
"MSXML2.DOMDocument.6.0", 
"MSXML2.DOMDocument.3.0", 
"MSXML2.DOMDocument", 
"Microsoft.XMLDOM" 
]; 
var i, 
len; 
for (i = 0, len = versions.length; i < len; ++i) { 
try { 
new ActiveXObject(versions[i]); 
arguments.callee.activeXString = versions[i]; 
break; 
} catch (ex) { 
// ignore 
} 
} 
} 
xmlDoc = new ActiveXObject(arguments.callee.activeXString); 
} catch (ex) { // other 
xmlDoc = document.implementation.createDocument("", "", null); 
} 
return xmlDoc; 
}

IE8以前,XmlDom都是利用ActiveX对象实现的,在IE9之后,IE开始支持Level 2级DOM,(其他支持Level 2 DOM的浏览器包括Firefox, Opera, Chrome, and Safari等)
可以像下面一样创建XML DOM对象:
var xmldom = document.implementation.createDocument(namespaceUri, root, doctype);

step2 加载xml文件
function loadXML(file) { 
var dom = createDom(); 
if (dom == null) { 
alert("load filed!"); 
} 
try { 
dom.async = false; 
dom.load(file); 
} catch (ex) { 
alert("unsupport browser!"); 
} 
return dom; 
}

一个简单的例子:
var xmlDom = loadXML("config.xml");

IE下,可以调用selectNodes() 和selectSingleNode()方法,利用XPath,快速定位节点
Javascript 相关文章推荐
jQuery 性能优化指南 (1)
May 21 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
Nov 28 Javascript
javascript实现网页背景烟花效果的方法
Aug 06 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
Bootstrap响应式表格详解
May 23 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
vue监听用户输入和点击功能
Sep 27 Javascript
Vue中axios拦截器如何单独配置token
Dec 27 Javascript
js实现的订阅发布者模式简单示例
Mar 14 Javascript
js实现模拟购物商城案例
May 18 Javascript
vue实现移动端div拖动效果
Mar 03 Vue.js
JavaScript的递归之递归与循环示例介绍
Aug 05 #Javascript
php与js的区别是什么
Aug 05 #Javascript
IE下写xml文件的两种方式(fso/saveAs)
Aug 05 #Javascript
js获取input标签的输入值实现代码
Aug 05 #Javascript
js实现页面转发功能示例代码
Aug 05 #Javascript
Jquery:ajax实现翻页无刷新功能代码
Aug 05 #Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 #Javascript
You might like
php简单备份与还原MySql的方法
2016/05/09 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
Javascript 继承机制的实现
2009/08/12 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
利用express启动一个server服务的方法
2017/09/17 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
用Node提供静态文件服务的方法
2018/07/06 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
在python中使用nohup命令说明
2020/04/16 Python
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
国企干部对照检查材料
2014/08/22 职场文书
机关作风建设整改方案
2014/10/27 职场文书
教育实习指导教师评语
2014/12/31 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
vue3中provide && inject的使用
2021/07/01 Vue.js
图文详解matlab原始处理图像几何变换
2021/07/09 Python