2017-02-16 54 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