19

次のタイプの XML ( getMembers.phpからのデータ)を解析してみます。

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
   <id>3422345</id>
   <name>Bill Gates</name>
   <id>232311</id>
   <name>Bob Barker</name>
</members>

そして、以下のコードを使用して解析します。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "GET",
            url: "getMembers.php",
            cache: false,
            dataType: "xml",
            success: function(xml) {
                $(xml).find('members').each(function(){
                    var name = $(this).find("name").text()
                    alert(name);
                });
            }
        });
    });
</script>

エラーはありませんが、両方の名前を同時に取得します。

お気に入り:

ビル・ゲイツボブ・バーカー <--最初のループ>

それ以外の

ビル・ゲイツ <--最初のループ>

Bob Barker <--2 回目のループ>

どんな助けでも素晴らしいでしょう!

4

3 に答える 3

34

名前ではなく、メンバーを繰り返し処理していると思います。

success: function(xml) {
                $(xml).find('members').each(function(){
                    $(this).find("name").each(function(){
                        var name = $(this).text();
                        alert(name);
                    });
                });
            }

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

<members>
   <id>3422345</id>
   <name>Bill Gates</name>
</members>
<members>
   <id>232311</id>
   <name>Bob Barker</name>
</members>
于 2012-04-19T08:15:49.283 に答える
2

このように名前を表示します:

<script type="text/javascript">
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "getMembers.php",
        cache: false,
        dataType: "xml",
        success: function(xml) {
            $(xml).find('name').each(function(){
                        var name = $(this).text();
                        alert(name);
            });
        }
    });
});

于 2016-10-06T13:56:08.947 に答える