如何使用Jquery处理XML字符串?

问题描述:

我真的很挣扎着我无法工作的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

试试这个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的知识,但是你们的优秀的撒玛利亚人帮助我大幅度提高了。谢谢伊恩! –