1

我正在尝试从我的 XML 表中提取数据,这是我第一次这样做,仅供参考。

这是我的 jQuery。

    $(document).ready(function(){
        $.ajax({
            type: "GET",
            url: "desk.xml",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('desk').each(function(){
                    var id = $(this).attr('id');
                    var desknum = $(this).find('desk#').text();
                    var phonenum = $(this).find('phone#').text();
                    var emailinfo = $(this).find('email').text();
                    $('<div class="desks" id="desk_'+id+'"></div>').html().appendTo('#page-wrap');
                        $('<div class="desknum"></div>').html(desknum).appendTo('#desk_'+id);
                        $('<div class="phonenum"></div>').html(phonenum).appendTo('#desk_'+id);
                        $('<div class="emailinfo"></div>').html(emailinfo).appendTo('#desk_'+id);
                });
            }
        });
    });

这是我的 XML

<?xml version="1.0" encoding="iso-8859-1"?>
 <location>
   <desk id="1">
      <desk#>Camaron</desk#>
   <computer#>COR9838L</computer#>
<phone#>111.111.1111</phone#>
<email#>camaron@yahoo.com</email#>
<picture></picture>
  </desk>
  <desk id="2">
   <desk#>Greg</desk#>
<computer#>COR9838L</computer#>
<phone#>111.111.1111</phone#>
<email>camaron@yahoo.com</email>
<picture></picture>
  </desk>
  <desk id="3">
<desk#>Cesar</desk#>
<computer#>COR9838L</computer#>
<phone#>111.111.1111</phone#>
<email#>camaron@yahoo.com</email#>
<picture></picture>
   </desk>
  <desk id="4">
   <desk#>Tracy</desk#>
<computer#>COR9838L</computer#>
<phone#>111.111.1111</phone#>
<email#>camaron@yahoo.com</email#>
<picture></picture>
  </desk>
</location>

我还在这里设置了一个 jsfiddle http://jsfiddle.net/cornelas/Re6Nv/

不知道为什么它不工作。

此外,我不想创建一个 div id,而是希望我的 xml 数据加载到正确的 div id。只是为了让您了解我的计划是什么,我正在构建一种基于位置的格式,每张桌子在地图上都有一个 id,xml 应该指向地图上的位置并正确放置数据。这是一个大项目,因此非常感谢您提供的任何帮助。

4

1 回答 1

1

您的 desk.xml 返回 500 Internal Server Error,我也建议您在 XML 文件可访问后使用此代码。

$.get('http://www.designsbycamaron.net/desk.xml', function(data){

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

        var $desk = $(this); 
        var id = $desk.attr("id");
        var desknum = $desk.find('desk#').text();
        var phonenum = $desk.find('phone#').text();
        var emailinfo = $desk.find('email').text();

        var html = '<div class="desks" id="desk_' + id + '">';
        html += '<div class="desknum">' + desknum + '</div>';
        html += '<div class="phonenum">' + phonenum + '</div>'; 
        html += '<div class="emailinfo">' + emailinfo + '</div></div>'; 

        $('#page-wrap').append($(html));

    });

});​

http://jsfiddle.net/Re6Nv/6/

于 2012-10-23T16:29:36.130 回答