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 相关文章推荐
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
Apr 12 Javascript
JS获取整个页面文档的实现代码
Dec 15 Javascript
通过action传过来的值在option获取进行验证的方法
Nov 14 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
Oct 17 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
Mar 09 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
详解JS取出两个数组中的不同或相同元素
Mar 20 Javascript
ES10的13个新特性示例(小结)
Sep 23 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
Sep 27 Javascript
JavaScript组合模式---引入案例分析
May 23 Javascript
JavaScript基于SVG的图片切换效果实例代码
Dec 15 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/10/09 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
调试php程序的简单步骤
2019/10/04 PHP
将list转换为json失败的原因
2013/12/17 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python3中的json模块使用详解
2018/05/05 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
单位工作证明范文
2014/09/14 职场文书
实习证明格式范文
2014/10/14 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
人民币使用说明书
2019/04/17 职场文书
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript