如何读取xml数据并按标记分隔

时间:2013-08-20 11:27:24

标签: javascript jquery

我正在尝试读取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]);
});

3 个答案:

答案 0 :(得分:0)

可以像这样访问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;
}

答案 1 :(得分:0)

如评论中所述,必须看到您从该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();
});

答案 2 :(得分:0)

您可以使用$.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

该示例来自我链接的来源,但我添加了评论。