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

您想要检索 XML 属性而不是其中的节点<marker>

尝试$(this).find('ID').text()$(this).attr('id')$(this).find('venue_type').text()替换$(this).attr('venue_type')

于 2012-11-18T18:36:50.950 回答
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 回答