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 相关文章推荐
JavaScript 编写匿名函数的几种方法
Feb 21 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
May 19 Javascript
Jquery在指定DIV加载HTML示例代码
Feb 17 Javascript
JS中完美兼容各大浏览器的scrolltop方法
Apr 17 Javascript
jQuery实现网页抖动的菜单抖动效果
Aug 07 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
connection reset by peer问题总结及解决方案
Oct 21 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
Jan 13 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
详解JS数值Number类型
Feb 07 Javascript
解决vue中对象属性改变视图不更新的问题
Feb 23 Javascript
vuex vue简单使用知识点总结
Aug 29 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
PHP文件下载类
2006/12/06 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
web.py获取上传文件名的正确方法
2014/08/26 Python
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Python运算符重载用法实例
2015/05/28 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python 解析xml文件的示例
2020/09/29 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
给男朋友的道歉信
2014/01/12 职场文书
求职自我推荐信
2014/06/25 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
毕业论文致谢词
2015/05/14 职场文书