如何读取jQuery中的xml解析并在html元素中显示
问题描述:
我试图在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的代码,然后是光!
答
更改驱动程序驱动程序在你的发现选择
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>');
});
+0
这确实是我的错误。我已经找到了解决方案,为什么var $ driver无法获取数据的值。 XML数据需要被解析为($(data).text())。它现在有效。我会更新代码。谢谢。 – AspiringWizard
可以为您发布的XML? – madalinivascu
我添加了xml – AspiringWizard