0

我正在对返回一些 xml 的 jsp 页面进行 ajax 调用。一切似乎都很好,当我使用警报显示返回的数据时,一切看起来都很好。但是,当我尝试在我的 jQuery 中解析 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);
            })

        }
    })
4

3 回答 3

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());
 })
于 2012-09-21T18:13:41.757 回答
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

于 2012-09-21T16:54:58.530 回答
0

例子是:

var xml = "<music><album>Beethoven</album></music>";

var result = $(xml).find("album").text();

有关更深入的信息,请阅读教程 Easy XML Consumption using jQuery

首先获取您的“位置”标签:

$(message).find('locations').find('location')

于 2012-09-21T16:08:45.703 回答