IE下JS读取xml文件示例代码_javascript技巧
程序员文章站
2022-04-23 11:22:36
...
使用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 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,快速定位节点
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 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,快速定位节点
上一篇: php 下载文件的函数,
推荐阅读
-
IE下通过JS控制剪贴板的代码_javascript技巧
-
js获取上传文件大小示例代码_javascript技巧
-
js获取判断上传文件后缀名的示例代码_javascript技巧
-
IE下通过JS控制剪贴板的代码_javascript技巧
-
可以读取EXCEL文件的js代码_javascript技巧
-
js获取判断上传文件后缀名的示例代码_javascript技巧
-
JS读取XML文件示例代码_javascript技巧
-
ie下动态加态js文件的方法_javascript技巧
-
firefox中JS读取XML文件_javascript技巧
-
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码_javascript技巧