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 相关文章推荐
IE7提供XMLHttpRequest对象为兼容
Mar 08 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 Javascript
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
AngularJS 2.0新特性有哪些
Feb 18 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
js调用刷新界面的几种方式
May 03 Javascript
vue-resource 拦截器(interceptor)的使用详解
Jul 04 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
koa+mongoose实现简单增删改查接口的示例代码
May 13 Javascript
React 高阶组件HOC用法归纳
Jun 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
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
不错的新闻标题颜色效果
2006/12/10 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
vue-router单页面路由
2017/06/17 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
小学教代会开幕词
2016/03/04 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android