0

次のような XML があるとします。

<?xml version="1.0" encoding="utf-8"?>
<Lists total="1">
  <Listing>
    <Rooms>Living Room</Rooms>
    <Rooms>Dining Room</Rooms>
    <Rooms>Maid Room</Rooms>
    <Facilities>Parking></Facilities>
  </Listing>
</Lists>

私はJSコードを書きました:

1) フィールドRoomsが配列かどうかを確認します
2) はい -> 追加して配列に結合し、,それを返します
3) いいえ -> 文字列を返すだけです

var rooms = $(xml).find('Rooms').length > 0 ? $(xml).find('Rooms').text() : function (e) {
        $(xml).find('Rooms').each(function () {
            e += $(this).text() + ','
        })
        return e;
    }

このコードは上記の XML に対して返さLiving Room,Dining Room,Maid Roomれません。私の JS コードの何が問題なのか誰か知っていますか?

ありがとう

4

1 に答える 1

4

あなたのコードは非常にシンプルにすることができます:

var rooms = [];
$(xml).find('Rooms').each(function() {
    rooms.push($(this).text());
});
rooms = rooms.join(',');
于 2013-05-22T07:04:28.177 に答える