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 相关文章推荐
js或css文件后面跟参数的原因说明
Jan 09 Javascript
javascript 全等号运算符使用说明
May 31 Javascript
iphone safari不支持position fixed的解决方法
May 04 Javascript
jquery默认校验规则整理
Mar 24 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 Javascript
简单理解JavaScript中的封装与继承特性
Mar 19 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
JS去掉字符串中所有的逗号
Oct 18 Javascript
vue弹窗插件实战代码
Sep 08 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 Javascript
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
构建简单的Webmail系统
2006/10/09 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
js类中获取外部函数名的方法
2007/08/19 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
js实现消灭星星(web简易版)
2020/03/24 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python使用xmlrpc实例讲解
2013/12/17 Python
python中的字典操作及字典函数
2018/01/03 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python实现画循环圆
2019/11/23 Python
优秀大学生的自我评价
2014/01/16 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
员工考核管理制度
2014/02/02 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫