2017-09-02 19 views
0

これは、Webサービスからの応答XMLです:解析用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>にそれを解析する必要があります。

だからbasiclly、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> 

だから、私は<ul>内部<li>オブジェクトにXML応答を解析する必要がAJAXコードは何ですか?

答えて

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> 

基本的にファイルinformation.xmlにあなたのXMLを入れて、あなたのデータをフェッチするGET要求を使用。データが正常に取得された場合は、jQuery each関数を使用して、それぞれのcustomerタグをループし、それらの情報を取得します。

EDIT:上記で説明した希望の<li>マークアップを得るためにAJAXコールを修正しました。