之前写过一篇 《使用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);}