原生javascript實現解析XML文檔與字串,javascriptxml

來源:互聯網
上載者:User

原生javascript實現解析XML文檔與字串,javascriptxml

之前寫過一篇 《使用jquery解析XML的方法》連結是http://www.bkjia.com/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);}

您可能感興趣的文章:
  • javascript解析xml字串的函數
  • JS解析XML的實現代碼
  • js 載入並解析XML字串的代碼
  • Javascript(AJAX)解析XML的代碼(相容FIREFOX/IE)
  • JS解析XML檔案和XML字串詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.