将XML对象解析为HTML ul元素

时间:2017-09-02 18:19:42

标签: javascript jquery html ajax xml

这是来自webservice的响应XML:

<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>

所以基本上,webservice返回这个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>

那么,我需要在<li>内解析对<ul>个对象的XML响应的AJAX代码是什么?

1 个答案:

答案 0 :(得分: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>标记。