Php 如何解析xml响应

Php 如何解析xml响应,php,ajax,xml,response,quickblox,Php,Ajax,Xml,Response,Quickblox,我请求外部api,它给出以下响应。它是XML格式的 这是我用来请求的方式 $('#trigger').click(function() { var token = '662d3330f192b4af77d5eef8de58f7e8c01a12a7'; var location = $('#Address').val(); var lat = $('#latitude').val(); var long = $('#longitude').val(); $.ajax({ url: 'htt

我请求外部api,它给出以下响应。它是XML格式的

这是我用来请求的方式

$('#trigger').click(function()
{
var token = '662d3330f192b4af77d5eef8de58f7e8c01a12a7';
var location = $('#Address').val();
var lat = $('#latitude').val();
var long = $('#longitude').val();
$.ajax({
    url: 'https://api.quickblox.com/data/Location',
    data: {
        token:'2100d8b55d4a389470b849de9378093dcda12903'
    },
    method: 'get',

    success: function(xml) {
        console.log(xml);
    }
});
});
这是我从服务器得到的响应

#document
<data type="array" class_name="Location" skip="0" limit="0">
  <Location>
    <_id>558a8325535c1246bb00d5c5</_id>
    <_parent_id>test-api</_parent_id>
    <created-at type="integer">1435140901</created-at>
    <lat type="float">11.0270643</lat>
    <location>Avarampalayam, Coimbatore, Tamil Nadu, India</location>
    <long type="float">76.9830277</long>
    <updated-at type="integer">1435140901</updated-at>
    <user-id type="integer">3566216</user-id>
  </Location>
  <Location>
    <_id>558a83dd535c12843900dbbe</_id>
    <_parent_id>test-api</_parent_id>
    <created-at type="integer">1435141085</created-at>
    <lat type="float">11.0310806</lat>
    <location>Mettupalayam Bus Stand, Mettupalayam Road, Tatabad, Coimbatore, Tamil Nadu, India</location>
    <long type="float">76.9525282</long>
    <updated-at type="integer">1435141085</updated-at>
    <user-id type="integer">3566216</user-id>
  </Location>
  <Location>
    <_id>558b8d97535c129bd3000e04</_id>
    <_parent_id>test-api</_parent_id>
    <created-at type="integer">1435209111</created-at>
    <lat nil="true"/>
    <location>Hyderabad, Telangana, India</location>
    <long nil="true"/>
    <updated-at type="integer">1435209111</updated-at>
    <user-id type="integer">3566216</user-id>
  </Location>
  <Location>
    <_id>558b8d81535c12aadd046730</_id>
    <_parent_id>test-api</_parent_id>
    <created-at type="integer">1435209089</created-at>
    <lat type="float">13.1067448</lat>
    <location>Avadi, Tamil Nadu, India</location>
    <long type="float">80.0969511</long>
    <updated-at type="integer">1435209089</updated-at>
    <user-id type="integer">3566216</user-id>
  </Location>
  <Location>
    <_id>558b86ad535c123883005741</_id>
    <_parent_id>test-api</_parent_id>
    <created-at type="integer">1435207341</created-at>
    <lat type="float">10.3673123</lat>
    <location>Dindigul, Tamil Nadu, India</location>
    <long type="float">77.9802906</long>
    <updated-at type="integer">1435207341</updated-at>
    <user-id type="integer">3566216</user-id>
  </Location>
  <Location>
    <_id>558b8f72535c126322011368</_id>
    <_parent_id>test-api</_parent_id>
    <created-at type="integer">1435209586</created-at>
    <lat type="float">12.977357</lat>
    <location>Bangalore City Junction, Gubbi Thotadappa Road, Majestic, Bengaluru, Karnataka, India</location>
    <long type="float">77.57077</long>
    <updated-at type="integer">1435209586</updated-at>
    <user-id type="integer">3566216</user-id>
  </Location>
</data>
但我什么也没有得到。我该怎么做?

试试这个:

success: function(xml) {
    console.log(xml);
    var xmlDoc = $.parseXML(xml);
    $(xmlDoc).find("Location").each(function(idx, value) {
        var id = $(value).find("_id").text();
        var parentId = $(value).find('_parent_id').text();
        var createdAt = new Date(parseInt($(value).find('created-at').text()));
        var lat = parseFloat($(value).find('lat').text());
    });
}

更好地将json与web结合使用

因此,替换

 url: 'https://api.quickblox.com/data/Location'


JSON可以无问题访问

阅读并感谢。。但是我没有将xml存储为文件:(Javascript无法访问文件,因此xml不是我顶部的文件
#document
。这有关系吗?如果#document位于根目录,您的xml看起来是无效的。您可以在-parseXML()处检查有效的xml,应该为您抛出一个“invalid xml”错误。
 url: 'https://api.quickblox.com/data/Location'
 url: 'https://api.quickblox.com/data/Location.json'