0

PHP xml ファイルからリストを作成したいので、いくつかのチュートリアルを読み、これをまとめます。

$.blockUI();

           $.get('venuesxml.php', function (data) {

                $('#MenuList').append("<p><label><strong>Id</strong></label>
                                     <label><strong>venue type</strong></label></p>");

                $(data).find('marker').each(function () {

                    $('#MenuList').append("<p><label>" +

                    $(this).find('ID').text() + "</label><label>" +

                    $(this).find('venue_type').text() + "</label></p>");

                });

            });

            $.unblockUI();

ただし、これは xml が次のようになっている場合にのみ機能することに気付きました。

<markers>
  <marker>

    <ID>1</ID>

    <venue_type>2</Name>

  </marker>
</markers>

ただし、次のようになります。

<markers>
     <marker id="67" venue_type="2"/>
</markers>

この場合、どのようにデータを取得しますか? ありがとう

4

3 に答える 3

1

これで変更してみて、これがうまくいくかどうかを確認してください:

$(this).text($(this).attr('id')) + "</label><label>" +

$(this).text($(this).attr('venue_type')) + "</label></p>");
于 2012-11-18T18:42:04.987 に答える
1

メソッドを使用できますattr

$(data).find('marker').each(function () {
    var p = "<p>" +
               "<label>" + $(this).attr('id') + "</label>" +
               "<label>" + $(this).attr('venue_type') + "</label>" +
            "</p>"; 
    $('#MenuList').append(p)
});
于 2012-11-18T18:42:30.243 に答える
1

内のノードではなく、XML 属性を取得したい<marker>

とで置き換え$(this).find('ID').text()てみてください$(this).attr('id')$(this).find('venue_type').text()$(this).attr('venue_type')

于 2012-11-18T18:36:50.950 に答える