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 兼容FF的onmouseenter和onmouseleave的代码
Jul 19 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
Jan 15 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
js实现简单选项卡与自动切换效果的方法
Apr 10 Javascript
jquery 动态合并单元格的实现方法
Aug 26 Javascript
AngularJs  Creating Services详解及示例代码
Sep 02 Javascript
Javascript实现前端简单的路由实例
Sep 11 Javascript
详解jQuery的Cookie插件
Nov 23 Javascript
浅析vue给不同环境配置不同打包命令
Aug 17 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
layui form表单提交之后重新加载数据表格的方法
Sep 11 Javascript
vue与django集成打包的实现方法
Nov 11 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
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
YUI模块开发原理详解
2013/11/18 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
使用C++扩展Python的功能详解
2018/01/12 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
PHP统计代码行数的小代码
2019/09/19 Python
python实现的Iou与Giou代码
2020/01/18 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
python设置表格边框的具体方法
2020/07/17 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
申报职称专业技术个人的自我评价
2013/12/12 职场文书
趣味比赛活动方案
2014/02/15 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
从事会计工作年限证明
2015/06/23 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis
vue elementUI批量上传文件
2022/04/26 Vue.js