原生javascript实现解析XML文档与字符串_javascript技巧
程序员文章站
2022-03-05 10:58:05
...
之前写过一篇 《使用jquery解析XML的方法》链接是http://www.jb51.net/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 加载并解析XML字符串的代码_javascript技巧
-
xml 封装与解析(javascript和C#中)_javascript技巧
-
JavaScript 解析读取XML文档 实例代码_javascript技巧
-
JS解析json数据并将json字符串转化为数组的实现方法_javascript技巧
-
xml 封装与解析(javascript和C#中)_javascript技巧
-
JSON序列化与解析原生JS方法且IE6和chrome测试通过_javascript技巧
-
javascript实现的字符串与十六进制表示字符串相互转换方法_javascript技巧
-
JavaScript 解析读取XML文档 实例代码_javascript技巧
-
js跨浏览器实现将字符串转化为xml对象的方法_javascript技巧
-
JS解析XML文件和XML字符串详解_javascript技巧