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

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 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

例は次のとおりです。

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

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

詳細については、jQuery を使用した簡単な XML 消費のチュートリアルを参照してください。

最初に「場所」タグを取得します。

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

于 2012-09-21T16:08:45.703 に答える