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 next nextAll nextUntil siblings的区别介绍
Oct 05 Javascript
前台js调用后台方法示例
Dec 02 Javascript
纯js模拟div层弹性运动的方法
Jul 27 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
Nov 24 Javascript
纯js实现手风琴效果
Apr 17 Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
全选复选框JavaScript编写小结(附代码)
Aug 16 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
Feb 22 Javascript
在Web关闭页面时发送Ajax请求的实现方法
Mar 07 Javascript
微信小程序自定义tabBar的踩坑实践记录
Nov 06 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 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
php上传excel表格并获取数据
2017/04/27 PHP
php文件上传类的分享
2017/07/06 PHP
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
js解决movebox移动问题
2016/03/29 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
python计算最大优先级队列实例
2013/12/18 Python
python中global与nonlocal比较
2014/11/21 Python
python实现二叉树的遍历
2017/12/11 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
python列表生成器迭代器实例解析
2019/12/19 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
Linux Interview Questions For software testers
2012/06/02 面试题
shell的种类有哪些
2015/04/15 面试题
音乐专业应届生教师求职信
2013/11/04 职场文书
大学生标准推荐信范文
2013/11/25 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
教师考核评语大全
2014/12/31 职场文书
水电工岗位职责
2015/02/14 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS