2017-02-16 16 views
0

解析されたxmlデータをhtmlで表示しようとしています。私は既にWebサービスからデータを正常に呼び出して、dataTypeをxmlに設定しました。しかし、以下のコードはエラーがなく、解析されたxmlデータをhtmlに表示していません。私は間違って何をしていますか?jQueryでxmlを解析してhtml要素に表示する方法

XMLデータ:

<?xml version='1.0' ?> 
<string> 
    <DriverInfo xmlns=\"http://tempuri.org/DriverInfo.xsd\"> 
     <Driver> 
      <ID>-1</ID> 
       <driver_code>DRIVER01</driver_code> 
       <driver_name>DRIVER01 Name</driver_name> 
      <transtamp>2017-02-16T14:41:09.9655914+08:00</transtamp> 
     </Driver> 
    </DriverInfo> 
</string> 

正常に解析されたXMLデータを取得した全コード:

$.ajax({ 
    url: domainName + "GetDriverXml", 
    method: "GET", 
    data: {wsCodeCrypt:"MULARIDEWS", caUid: "mularide", caPwd:"VAt_-tg4%Z5pcpct", 
    driverCode:"DRIVER01"}, 
    cache: false, 
    dataType: "xml", 
    success: function(data) { 
     var xmlDoc = $.parseXML($(data).text()); 
      var $xml = $(xmlDoc); 

      var $driver = $xml.find("Driver"); 

      $driver.each(function(){ 

      var driverCode = $(this).find('driver_code').text(), 
       driverName = $(this).find('driver_name').text(); 

      $("#driverDet").append('<li>' +driverCode+ ' - ' +driverName+ '</li>'); 

      });   
    }   
}); 

HTML

<ul id="driverDet"></ul> 

任意の助けを大幅に高く評価されるだろう。

EDIT:madalin ivascuが指摘している問題が見つかりました。「ドライバ」を「ドライバ」に変更する必要があります。また、 'データ'を.textとして解析するコードも更新されました。あなたの検索セレクタでドライバへ

+0

あなたは、XMLを投稿することができますか? – madalinivascu

+0

私はxmlを追加しました – AspiringWizard

答えて

0

変更ドライバ

var xml = "<?xml version='1.0' ?><string><DriverInfo xmlns=\"http://tempuri.org/DriverInfo.xsd\"> <Driver><ID>-1</ID><driver_code>DRIVER01</driver_code><driver_name>DRIVER01 Name</driver_name><transtamp>2017-02-16T14:41:09.9655914+08:00</transtamp></Driver><Driver><ID>-1</ID><driver_code>DRIVER01</driver_code><driver_name>DRIVER01 Name</driver_name><transtamp>2017-02-16T14:41:09.9655914+08:00</transtamp></Driver></DriverInfo></string>", 
    xmlDoc = $.parseXML(xml); 
$(xmlDoc).find('Driver').each(function() { 
    var driverCode = $(this).find('driver_code').text(), 
    driverName = $(this).find('driver_name').text(); 

    $("#ProfileList").append('<li>' + driverCode + ' - ' + driverName + '</li>'); 

}); 

デモ:https://jsfiddle.net/814yhL3m/

+0

これは本当に私の最後のタイプミスでした。私はなぜvar $ドライバがデータの価値をつかむことに失敗したのかという解決策を見つけました。 XMLデータは($(data).text())として解析する必要があります。それは今働く。コードを更新します。ありがとう。 – AspiringWizard