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的this关键字
May 28 Javascript
判断输入的字符串是否是日期格式的简单方法
Jul 11 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
jQuery Position方法使用和兼容性
Aug 23 jQuery
原生JS获取元素的位置与尺寸实现方法
Oct 18 Javascript
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
Vue Socket.io源码解读
Feb 07 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
May 10 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
原生js canvas实现鼠标跟随效果
Aug 02 Javascript
如何封装Vue Element的table表格组件
Feb 06 Vue.js
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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
python执行get提交的方法
2015/04/29 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
Python OpenCV获取视频的方法
2018/02/28 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python3获取当前目录的实现方法
2019/07/29 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
Python中and和or如何使用
2020/05/28 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
Python远程linux执行命令实现
2020/11/11 Python
生育关怀行动实施方案
2014/03/26 职场文书
施工安全汇报材料
2014/08/17 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript