将 PHP 响应输出为 XML


Output PHP response as XML

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

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

代理.php:

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

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

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

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

您可以使用

simplexml_load_string() 函数从字符串加载 XML:

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

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

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