使用jQuery解析此XML的最佳方法

时间:2010-07-19 19:50:34

标签: javascript jquery xml

 <?xml version="1.0" encoding="UTF-8" ?>
 <BMC_Impact_Manager version="1.0">
 <IMPACT_EVENT>
  <EVENT>
     <date_reception>1279568162</date_reception> 
  </EVENT>
  <EVENT>
    <date_reception>1279568162</date_reception> 
  </EVENT>
  <EVENT>
    <date_reception>1279568102</date_reception> 
  </EVENT>
  <EVENT>
    <date_reception>1279567862</date_reception> 
  </EVENT>
  <EVENT>
    <date_reception>1279567836</date_reception> 
  </EVENT>
</IMPACT_EVENT>

我们将XML输出更改为这样......所以现在我不再需要帮助了......谢谢!

3 个答案:

答案 0 :(得分:3)

使用正确的XML解析器。

// http://www.w3schools.com/dom/dom_parser.asp
function parseXML(text) {
    var doc;

    if(window.DOMParser) {
        var parser = new DOMParser();
        doc = parser.parseFromString(text, "text/xml");
    }
    else if(window.ActiveXObject) {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async = "false";
        doc.loadXML(text);
    }
    else {
        throw new Error("Cannot parse XML");
    }

    return doc;
}

然后将所有日期接收标记值设为

var xml = parseXML(xmlString);
$(xml).find('date_reception').each(function() {
    console.log(this.text());
});

答案 1 :(得分:0)

以下是一个只需解析Javascript的示例,非常简单的示例:http://www.captain.at/howto-ajax-xml-javascript.php

答案 2 :(得分:0)

假设您已将xml作为字符串,那么它应该只是:

var xml = ".....";
val values = $("date_reception", $(xml))