2017-09-02 83 views
0

这是一个Web服务的响应XML:解析XML对象HTML UI元素

<information> 
    <customer> 
     <customer_id>asdf1_id</customer_id> 
     <customer_name>asdf1</customer_name> 
    </customer> 
    <customer> 
     <customer_id>asdf2_id</customer_id> 
     <customer_name>asdf2</customer_name> 
    </customer> 
    <customer> 
     <customer_id>asdf3_id</customer_id> 
     <customer_name>asdf3</customer_name> 
    </customer> 
</information> 

而且,我需要获取每一位客户,它解析为一个HTML <ul>。所以基本上,web服务返回这个XML与1,2,3,4,或任何数量的客户,我需要的AJAX解析这个信息 到<ul> html元素,应该看起来像这样:

<li onclick='UpdateCustomer(asdf1_id)'>asdf1</li> 
<li onclick='UpdateCustomer(asdf2_id)'>asdf2</li> 
<li onclick='UpdateCustomer(asdf3_id)'>asdf3</li> 

那么,什么是Ajax代码,我需要解析<ul>中的XML响应<li>对象?

回答

0

试试这个:

的jQuery:

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     url: "information.xml", 
     dataType: "xml", 
     success: function(response) { 
      $('customer', response).each(function() { 
       $(".ulcontainer").append($("<li onclick=UpdateCustomer(" + $(this).find("customer_id").text().trim() + ")>" + $(this).find("customer_name").text() + "</li>")); 
      }); 
     } 
    }); 
}); 

HTML:

<ul class="ulcontainer"> 

</ul> 

基本上把你的XML到一个文件information.xml并使用GET请求中抓取数据。当数据成功获取时,使用jQuery each函数遍历每个customer标签并获取其中的信息。

编辑:我修改了我的AJAX调用,给你想要的<li>上面描述的标记。