2012-09-21 67 views
0

我正在對返回一些xml的jsp頁面進行ajax調用。一切似乎都很順利,當我使用警報顯示返回的數據時,一切看起來都很好。但是,當我嘗試解析我的jQuery中的xml時,我無法做到這一點。返回的xml無法解析

返回的XML看起來是這樣的:

<?xml version="1.0" encoding="ISO-8859-1"?> 
    <locations> 
    <location> 
     <branch>Branch</branch> 
     <branchid>BranchID</branchid> 
     <phone>Phone</phone> 
     <address>Address</address> 
     <phone2>Phone2</phone2> 
     </location> 
    </locations> 

我的AJAX看起來是這樣的:

$.ajax({ 
     type: "POST", 
     url: "test.jsp", 
     data: {zc : $('#zc').val()}, 
     async: false,    
     success: function(message){ 
      message = message.trim();     
      $(message).find('location').each(function(){ 
       var branch = $(this).find('branch').text(); 
       alert(branch); 
      }) 

     } 
    }) 

回答

0

使用jQuery.parseXML

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>", 
    xmlDoc = $.parseXML(xml), 
    $xml = $(xmlDoc), 
    $title = $xml.find("title"); 

參考:jQuery parseXML

0

請嘗試下面的代碼:

var message = "<?xml version='1.0' encoding='ISO-8859-1'?>" 
    +"<locations>" 
    +"<location>" 
     +"<branch>Branch</branch>" 
     +"<branchid>BranchID</branchid>" 
     +"<phone>Phone</phone>" 
     +"<address>Address</address>" 
     +"<phone2>Phone2</phone2>" 
     +"</location>" 
    +"</locations>"; 

$('location', message).each(function(xml){ 
    console.log('branch:' +$(this).find('phone2').text()); 
    console.log('branchid:' +$(this).find('branchid').text()); 
    console.log('phone:' +$(this).find('phone').text()); 
    console.log('address:' +$(this).find('address').text()); 
})