Javascript AJAX 解析XML 相容FIREFOX/IE

來源:互聯網
上載者:User
//匯入js檔案

function getResult(url, ready) {
 var xmlHttp;
 var r = function() {

  if (xmlHttp.readyState == 4) {
   if (xmlHttp.status == 200) {
    //alert(isIE);

    var xmlstr;
    var xmldoc;
    var isIE = !!(window.attachEvent && !window.opera);
    if (isIE)
     xmldoc = xmlHttp.responseXML;
    else {

     xmlstr = xmlHttp.responseText;
     alert(xmlstr);
     var parser = new DOMParser();

     xmldoc = parser.parseFromString(xmlstr, "text/xml");
    }
    try {
     ready(xmldoc);
    } catch (e) {
     alert(e.message);
    }
   }
  }
 }

 var create = function(url, r) {

  try {
   // Firefox, Opera 8.0+, Safari
   xmlHttp = new XMLHttpRequest();
  } catch (e) {

   // Internet Explorer
   try {
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {

    try {
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
     alert("您的瀏覽器不支援AJAX!");
     return false;
    }
   }
  }
  xmlHttp.onreadystatechange = r;
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);

 }
 create(url, r);

}

 //應用
function ready(xmlDoc)
    {
    
        
        x=xmlDoc.getElementsByTagName("a")[1];
        y=x.childNodes[0];
        txt=y.nodeValue;
        alert(txt);
        
    }
getResult("../xml.jsp",ready);

 

xml:

<r>
<a>ff</a>
<a>ggd</a>
</r>

childNodes 屬性返回子節點的列表。<a> 元素只有一個子節點,即一個文本節點。

下面的代碼檢索 <a> 元素的文本節點:

x=xmlDoc.getElementsByTagName("a")[0];y=x.childNodes[0];

nodeValue 屬性返迴文本節點的文本值:

x=xmlDoc.getElementsByTagName("title")[0];y=x.childNodes[0];txt=y.nodeValue;

結果:txt = "ggd"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.