原生javascript实现解析XML文档与字符串
作者:bea
之前写过一篇 《使用jquery解析XML的方法》链接是/article/54842.htm,上篇文章详细解释了jQuery 与字符串互相转换的方法 ,这里着重论述javascript操作xml。 总代码如下: var XMLHttp = null;if (window.XMLHttpRequest) { //现代浏览器 XMLHttp = new XMLHttpRequest();} else if (window.ActiveXObject) { XMLHttp
之前写过一篇 《使用jquery解析XML的方法》链接是/article/54842.htm,上篇文章详细解释了jQuery 与字符串互相转换的方法 ,这里着重论述javascript操作xml。
总代码如下:
var XMLHttp = null;
if (window.XMLHttpRequest) { //现代浏览器
XMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6
}
if (XMLHttp !== null) {
XMLHttp.onreadystatechange = function() {
if (XMLHttp.readyState === 4) {
if (XMLHttp.status === 200 || XMLHttp.status === 304) {
// var XMLDom = XMLHttp.responseXML; //解析XML文档
var XMLDoc = XMLHttp.responseText; //解析XML字符串
var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml");
//异步代码写这里
console.log(XMLDom);
console.log("world"); //后出现world
}
}
};
XMLHttp.open("get", "test1.xml", true);
XMLHttp.send();
//非异步代码写这里
console.log("hello"); //先出现hello
}
第一步,创建XMLHTTPREQUEST:
var XMLHttp = null;
if (window.XMLHttpRequest) { //现代浏览器
XMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6
}
第二步,检测ONREADYSTATECHANGE(非异步不需要):
if (XMLHttp !== null) {
XMLHttp.onreadystatechange = function() {
if (XMLHttp.readyState === 4) {
if (XMLHttp.status === 200 || XMLHttp.status === 304) {
//异步代码写这里
}
}
};
XMLHttp.open("get", "test1.xml", true);
XMLHttp.send();
//非异步代码写这里
}
第三步,解析XML文档或字符串(异步):
XMLHttp.onreadystatechange = function() {
if (XMLHttp.readyState === 4) {
if (XMLHttp.status === 200 || XMLHttp.status === 304) {
// var XMLDom = XMLHttp.responseXML; //解析XML文档
var XMLDoc = XMLHttp.responseText; //解析XML字符串
var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml");
//异步代码写这里
console.log(XMLDom);
}
}
};
第四步,解析XML文档或字符串(非异步):
if (XMLHttp !== null) {
// XMLHttp.onreadystatechange = function() {
// if (XMLHttp.readyState === 4) {
// if (XMLHttp.status === 200 || XMLHttp.status === 304) {}
// }
// };
XMLHttp.open("get", "test1.xml", false);
XMLHttp.send();
//非异步代码写这里
// var XMLDom = XMLHttp.responseXML; //解析XML文档
var XMLDoc = XMLHttp.responseText; //解析XML字符串
var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml");
//异步代码写这里
console.log(XMLDom);
}
猜你喜欢
您可能感兴趣的文章:
- JS实现Select的option上下移动的方法
- angular2使用简单介绍
- JS实现的在线调色板实例(附demo源码下载)
- Bootstrap每天必学之导航条(二)
- JavaScript实现简洁的俄罗斯方块完整实例
- 用NODE.JS中的流编写工具是要注意的事项
- JS实现图片平面旋转的方法
- JS显示日历和天气的方法
- jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
- jQuery获取某天的农历日期并判断是否除夕或新年的方法
- jQuery实现获取table表格第一列值的方法
- JavaScript Date对象详解
- JavaScript通过使用onerror设置默认图像显示代替alt
- jQuery增加与删除table列的方法
- JavaScript如何实现组合列表框中元素移动效果
- JavaScript常用函数工具集:lao-utils
- JavaScript Array对象详解
- jQuery计算文本框字数及限制文本框字数的方法
- jQuery xml字符串的解析、读取及查找方法