如何将XML数据放入数组/对象中

How to put XML data into an array/object?

本文关键字:数组 对象 XML 数据      更新时间:2023-09-26

下面我有一段PHP代码,它本质上是从另一个网站上撕下一个XML文件,并将其打印到我的index.PHP页面上。我这样做是因为访问控制允许origin,这样我就可以使用AJAX获取数据(不允许从其他域获取数据(这被称为代理吗?))。

<?php
    header ("Content-Type:text/xml");
    $url = 'http://pathtoxmlfilehere.com/blablabla.xml';
    $xml = file_get_contents($url);
    print $xml;
?>

所以,现在我在同一台服务器上有了这个文件,我只需要调用AJAX就可以得到它,对吧?所以,我使用的是jQuery,所以不妨使用$.get().

$.get('PathToLocalXmlThatIUsedPhpToDownload', function(data) {
    // What goes in here?
    // Do I need to parse the data as XML?
});

我需要将数据放入一个对象/数组中(不确定哪一个更合适),这样我就可以轻松地操作/显示它。我很难做到这一点,如果有人能帮我,我真的很感激。我读过其他类似的问题,他们的解决方案似乎对我不起作用,因此我决定公布我的确切情况,以便找到更准确的答案

感谢

您可以在get请求中指定xml数据类型。data对象将成为XML根元素:

$.get('PathToLocalXmlThatIUsedPhpToDownload', function(data) {
   //work with xml here
}, 'xml');

直接处理XML可能更有效,而不是将其转换为javascript对象然后处理数据。然而,如果在您的问题上下文中使用javascript对象更有意义,请参阅本文的答案:将XML字符串转换为JSON 的工具(javascript)

http://api.jquery.com/jQuery.get/