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 相关文章推荐
JS加ASP二级域名转向的代码
May 17 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
Dec 31 Javascript
javascript中2个感叹号的用法实例详解
Sep 04 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
Feb 27 Javascript
实用又漂亮的BootstrapValidator表单验证插件
May 30 Javascript
Vue方法与事件处理器详解
Dec 01 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
AngularJS路由Ui-router模块用法示例
May 29 Javascript
Angular实现搜索框及价格上下限功能
Jan 19 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
Dec 24 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
vue-以文件流-blob-的形式-下载-导出文件操作
Aug 07 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 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
基于jquery的3d效果实现代码
2011/03/23 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
简单易懂的python环境安装教程
2017/07/13 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
心理学专业毕业生推荐信范文
2013/11/21 职场文书
厨师长岗位职责
2014/03/02 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
2015年教师国培感言
2015/08/01 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
python flask框架快速入门
2021/05/14 Python
Python利用capstone实现反汇编
2022/04/06 Python
Apache自带的ab压力测试工具的实现
2022/07/23 Servers
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS