如何使用jquery提取XML标记内容

How to extract XML tag contents using jquery?

本文关键字:XML 何使用 jquery 提取      更新时间:2023-09-26

当我们向我的ASP.NET MVC4控制器传递SERIAL时,它会返回一个XML字符串。现在,当我使用C#发送请求时,它运行良好,XML字符串返回,看起来像

<CalculatedCode> 12312312 </CalculatedCode> 

我还需要像下面这样通过jquery来完成。查询正在工作,但它返回的是XMLDocumentObject,而不是xml string。我查看了Jquery文档试图解析它,但我是一个Jquery noob,我确信我在代码中犯了一个错误。

              $.ajax({
                 url: '@Url.Action("Index", "Home")',
                 type: 'GET',
                 dataType: 'xml',
                 data: { SERIAL: serial}, //SERIAL comes from a textbox
                 success: function (responseData) {
             //Code below is messed up, it simply needs to find the CalculatedCode tag 
             //and  extract the value within this tag
                     xmlDoc = $.parseXML(response);
                     $xml = $(xmlDoc);                         
                     $thecode = $xml.find("CalculatedCode");  
             // ToDo: Bug stackoverflow members with this noob question          
                 }
             });

非常感谢:)

当您将dataType设置为XML时,它已经被解析,因此不需要$.parseXML,但如果元素是根元素,find()就不起作用,因为它只查找子元素,您将需要filter()

$xml     = $(responseData);                         
$thecode = $xml.filter("CalculatedCode").text();

获得元素的一个技巧是将xml附加到另一个元素:

$xml     = $('<div />').append(responseData);                         
$thecode = $xml.find("CalculatedCode").text();