Javascript 从ajax结果中提取XML数据

Javascript 从ajax结果中提取XML数据,javascript,jquery,ajax,xml,Javascript,Jquery,Ajax,Xml,我的AJAX调用是这样的 $.ajax({ url: '/services/LTLGadgetV2.aspx', type: 'Get', success: function (result) { console.log( result); } }); var xmlDocNp; xmlDocNp = $.parseXML('<xml>' + result + '</xml>'), $

我的AJAX调用是这样的

$.ajax({
    url: '/services/LTLGadgetV2.aspx',
    type: 'Get',
    success: function (result) {      
        console.log( result);  }
    });
   var xmlDocNp;
    xmlDocNp = $.parseXML('<xml>' + result + '</xml>'),
     $xml = $(xmlDocNp),
    pricingModel = $xml.find('PricingModel').text();
在控制台中,我得到以下结果:

示例XML

  <RateResults xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PriceSheets>
  <PriceSheet type="Cost" CurrencyCode="USD" CreateDate="0001-01-01T00:00:00">
    <LaneID>9553</LaneID>
    <MaxDeficitWeight>19999</MaxDeficitWeight>
  </PriceSheet>
</PriceSheets>
<StatusCode>0</StatusCode>
<StatusMessage>Rating Process completed with no errors</StatusMessage>
<debug>
  <debug>
    <ContractName>2013  Pinnacpccle </ContractName>
  </debug>
</debug>
<PricingModel><![CDATA[<div id="PricingModelDiv" style="position:absolute;display:none;"><table id="myTable" Width = "300" style="font-family:Verdana; background:white; font-size:9" border="1"> </table></div>]]></PricingModel>
</RateResults>


工作示例:

由于
结果
已经是
对象
,而不是
字符串
,因此不需要使用
$.parseXML()

原因是,即使没有在Ajax请求参数中设置结果数据的
dataType
,jQuery也会使用智能猜测来理解数据是什么。由于jQuery正确地猜测到它是XML,因此它在内部执行
$.parseXML()
,并将
对象
而不是
字符串
传递给
成功
回调


.

@Rorymcrossan更新了我的问题,询问了详细信息<代码>数据类型:“xml”,以及提供的xml的简短版本,它似乎可以工作。@Regent请注意控制台中的“#文档”#文档不在您的响应中,这只是浏览器控制台向您说明“下面的是文档”。
Note: If i put a break-point and checked the result in chrome, it looks like this
$(document).ready(function () {
$.ajax({
    type: "GET",
    url: "/services/LTLGadgetV2.aspx",
    dataType: "xml",
    success: xmlParser
   });
});

function xmlParser(xml) {
    console.log($(xml).find('PricingModel'))
}
var $xml = $(result);
var pricingModel = $xml.find('PricingModel').text();