2017-02-16 43 views
0

我試圖在html中顯示解析的xml數據。我已經成功地從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> 

任何幫助將不勝感激。

編輯:發現問題,由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 $ driver無法獲取數據的值。 XML數據需要被解析爲($(data).text())。它現在有效。我會更新代碼。謝謝。 – AspiringWizard