返回xml字符串 - 如何使用JQuery/Json解析xml文件

Nic*_*ahn 3 jquery json jsonp

当我提醒它返回这样的字符串:

data    "<?xml version="1.0" encoding="utf-8" ?> 
      <xml xmlns="http://www.opengis.net/kml/2.2">
      <Document>
      <Name>John Smith</Name> 
      <Description>stackoverflow</Description> 
      <Total>50</Total> 
      </Document>
      </xml>"
Run Code Online (Sandbox Code Playgroud)

更新: 我尝试使用此方法getJSON,我确实收到警报但从未在内部执行find('Document').each.....

 $.getJSON(_url, function (data) {

            alert(data);    
            $(data).find('Document').each(function () {
                debugger
                var name = $(this).find('Name');
                var desc = $(this).find('Description').text();
                var total = $(this).find('Total').text()

            });

        });
Run Code Online (Sandbox Code Playgroud)

如何在jquery中读取xml文件,下面是将我作为字符串返回的内容,我可以看到当我做警报(数据)时;

 $.getJSON(url, {},
                function (data) {
                    alert(data);
             }
});


<?xml version="1.0" encoding="utf-8" ?> 
- <xml xmlns="http://www.opengis.net/kml/2.2">
- <Document>
  <Name>John Smith</Name> 
  <Description>stackoverflow</Description> 
  <Total>50</Total> 
  </Document>
  </xml>
Run Code Online (Sandbox Code Playgroud)

gin*_*man 5

如果您仍在寻找答案,Google的ajax API有一个内置的xml-> json转换器.

您可以通过http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q= 最终的请求网址来调用它.

如果您尝试使用JSONP并解决相同的原因问题,它将看起来像这样:

var googleAPI = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=";

$.getJSON(googleAPI + url + "&callback=?", null, function(data) {

        alert(data);    
        $(data).find('Document').each(function () {
            debugger
            var name = $(this).find('Name');
            var desc = $(this).find('Description').text();
            var total = $(this).find('Total').text()

        });
});
Run Code Online (Sandbox Code Playgroud)

但是,这将为您提供JSON数据,因此您需要修改回调以将其序列化并访问Name,Description,Total元素作为属性.如果您需要这方面的指导,请在jQuery中检查Serializing to JSON