将PHP响应输出为XML

时间:2013-09-08 06:07:25

标签: php javascript jquery xml ajax

新手在这里。我有AJAX请求XML数据。因为它是跨域的,所以它通过PHP代理。问题是代理以字符串的形式返回XML。这使得很难在Javascript中解析。我怎样才能让PHP以XML对象的形式返回数据,或者2)在返回后将字符串转换为XML?

$.ajax({
url: 'proxy.php',
data: {requrl: request + '&reportType=' + report}
    })
   .done(function(response) {
   ...
   }

proxy.php:

<?php
$file = file_get_contents($_GET['requrl']);
echo $file;
?>

2 个答案:

答案 0 :(得分:0)

您可以使用simplexml_load_string()函数从字符串加载XML:

$file = file_get_contents($_GET['requrl']);
$xml = simplexml_load_string($string);

或直接将XML文件加载到字符串中,如下所示:

$xml = simplexml_load_file($_GET['requrl']);

答案 1 :(得分:0)

您可以像这样直接返回xml ...

header('Content-type: text/xml; charset=utf-8');
echo $file;

如果你想用php解析xml,请查看SimpleXML