2013-08-30 20 views
0

我真的很掙扎着我無法工作的Jquery腳本。如何使用Jquery處理XML字符串?

我有一個XML字符串,我想從它返回名稱'Miki',但它只是不工作,我不知道它。有人能幫我嗎?

function LoadParseXML() { 

     var xml 
     xml = '<?xml version="1.0" encoding="utf-8"?><CATALOG><VAR><PREVIOUSPAT>Miki</PREVIOUSPAT></VAR></CATALOG>'; 
     loadXMLDoc(xml, 'PREVIOUSPAT'); 
      } 


    function loadXMLDoc(url, Node) { 
     var xmlhttp; 
     var txt, x, xx, i; 
     if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } 
     else {// code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 

       x = xmlhttp.responseXML.documentElement.getElementsByTagName("VAR"); 

       for (i = 0; i < x.length; i++) { 

        xx = x[i].getElementsByTagName(Node); 

        txt = xx[0].firstChild.nodeValue; 

        alert(txt); 

       } 

      } 
     } 

     xmlhttp.open("GET", url, true); 
     xmlhttp.send(); 
    } 
+0

日誌'xx'變量,看看裏面有什麼 – karaxuna

+1

只是一掠而過你的代碼,你爲什麼不使用jQuery當你提到它? jQuery有'$ .ajax()'和'$ .parseXML()'這應該有希望解決你遇到的任何問題。爲遍歷XML文檔,可以使用'.find()','.filter()'或'.children()'等jQuery方法。然後'.text()'檢索元素內容 – Ian

回答

1

試試這個jQuery代碼循環PREVIOUSPAT出現

var xml = '<?xml version="1.0" encoding="utf-8"?><CATALOG><VAR><PREVIOUSPAT>Miki</PREVIOUSPAT></VAR></CATALOG>'; 
xmlDoc = $.parseXML(xml); 
$xml = $(xmlDoc); 

$xml.find('CATALOG > VAR > PREVIOUSPAT').each(function(){ 
    alert($(this).text()); 
}) 
+0

上帝保佑你們所有人,謝謝Michael B,我沒有意識到這是直截了當的。我顯然需要了解更多關於JQuery的知識,但是你們的優秀的撒瑪利亞人幫助我大幅度提高了。謝謝伊恩! –