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无法设置checkbox选中即没有变成选中状态
Mar 27 Javascript
table行随鼠标移动变色示例
May 07 Javascript
node.js中的http.response.write方法使用说明
Dec 14 Javascript
JavaScript中的console.group()函数详细介绍
Dec 29 Javascript
DOM节点深度克隆函数cloneNode()用法实例
Jan 12 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
Apr 12 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
Jun 14 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
利用Node.js对文件进行重命名
Mar 12 Javascript
Node.js中多进程模块Cluster的介绍与使用
May 27 Javascript
移动设备手势事件库Touch.js使用详解
Aug 18 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
PHP中常用的转义函数
2014/02/28 PHP
php控制文件下载速度的方法
2015/03/24 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
jquery 查找新建元素代码
2010/07/06 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
用python与文件进行交互的方法
2018/03/01 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
pandas DataFrame运算的实现
2020/06/14 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
满月酒主持词
2014/03/27 职场文书
护士求职信
2014/07/05 职场文书
2014教师研修学习体会
2014/07/08 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
跳高加油稿
2015/07/21 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang