0

ねえ、私は現在、返されたXMLデータを収集するために以下のコードを使用しています。

success: function(xml) {
    $(xml).find('members').each(function(){ 
       $(this).find("id").each(function(){        
         var id = $(this).text();
         $("#example").append('<img src="http//www.xxxxxxx.com/' + id + '.jpg">');
       }); 
    }); 
}

ただし、 1つのことだけをループしてから、戻ってループして2つ目のデータを取得するなど、各セクションから一度にすべてのデータを収集できるようにする必要があります。

XMLは次のようになります。

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
  <new>YES</new>
  <id>5678994</id>
  <name>Bob Barker</name>
  <rsvp>0</rsvp>
  <new>NO</new>
  <id>94443326</id>
  <name>Bill Gates</name>
  <rsvp>0</rsvp>
  <street1>na</street1>
  <street2>na</street2>
  <city>na</city>
  <state>na</state>
  <zip>0</zip>
  <cellp>0</cellp>
</members>
4

2 に答える 2

1

あなたは次のようにトラバースを単純化することができます

$divToAppend=$("#example");    
$(xml).find("members id").each(function(){
    $divToAppend.append('<img src="http//www.xxxxxxx.com/' + $(this).text() + '.jpg" />');
 });

Div / Element'#example'は、パフォーマンスを向上させるためにキャッシュされます。

于 2012-04-23T06:38:48.110 に答える
0

とった:

$(xml).find('members').each(function(){ 
    $(this).find("user").each(function(){ 
        var found   = $(this).find("new").text();
        var id      = $(this).find("id").text();
        var name    = $(this).find("name").text();
        var rsvp    = $(this).find("rsvp").text();
        var street1 = $(this).find("street1").text();
        var street2 = $(this).find("street2").text();
        var city    = $(this).find("city").text();
        var state   = $(this).find("state").text();
        var zip     = $(this).find("zip").text();
        var cellp   = $(this).find("cellp").text();

        alert(street1);
        alert(id);
    }); 
}); 

次のxmlレイアウトを使用します。

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
<user>
<new>NO</new>
<id>5000834</id>
<name>bob Barker</name>
<rsvp>0</rsvp>
<street1>na</street1>
<street2>na</street2>
<city>na</city>
<state>na</state>
<zip>0</zip>
<cellp>0</cellp>
</user>
<user>
<new>NO</new>
<id>94323456</id>
<name>Bill Gates</name>
<rsvp>0</rsvp>
<street1>na</street1>
<street2>na</street2>
<city>na</city>
<state>na</state>
<zip>0</zip>
<cellp>0</cellp>
</user>
</members>
于 2012-04-23T17:58:34.130 に答える