如何读取xml数据并通过标记将其分离

How to read xml data and seperate it by tag

本文关键字:分离 数据 何读取 读取 xml      更新时间:2023-09-26

我正在尝试读取xml数据,并用标记名将其分隔,以便将值保存在变量中以备将来使用。但是我无法读取和过滤xml值。我需要从给定的页面中读取每个值,并将标记值分开。以下是我的代码-

我需要按CustomerID筛选数据,并查找客户的特定电子邮件。有人能帮我吗。

$.get("/read_xml.asp", function(XMLresponse) {

        var xmldata=XMLresponse;
          alert("Data Loaded: " + xmldata);
         // Customers
  alert(str.length);
    var str =xmldata;
    str = str.split('<CustomerID>');
    str[1] = str[1].split('</CustomerID>');
     alert(str[1]);
});

XML可以这样访问(如果它是有效的):

var customerID = xmldata.getElementByTagName('CustomerID')[0].nodeValue;

就像是一个列表:

for(var i = 0;i<xmldata.getElementByTagName('customer').length;i++){
  var customer = xmldata.getElementByTagName('customer')[i];
  var customerID = customer.getElementByTagName('CustomerID')[0].nodeValue;
}

正如评论中所说,必须看到您从ajax调用中收到的XML。

然而,使用jquery遍历文档或查找元素是显而易见的。

$(xml).find('ParentElement').each(function(){
 var id = $(this).attr('CustomerID');
 var title = $(this).find('CustomerTitle').text();
 var other = $(this).find('CustomerOther').text();
});

您可以使用$.parseXML,然后像使用选择器查询DOM一样查询文档。

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>",
    xmlDoc = $.parseXML( xml ), //create a document from the XML string
    $xml = $( xmlDoc ), //wrap the document in a jQuery object
    $title = $xml.find( "title" ); //find every title tags

这个例子来自我链接的源代码,但我添加了注释