将PHP file_get_contents与xml结合使用


Using PHP file_get_contents with xml

我不确定是否是我的XAMPP设置导致了这个问题,但我目前有一个创建示例XML数据的php页面,如下所示:

$xml = new SimpleXMLElement('<product/>');
$xml->addChild("price", "US DOLLARS");
$xml->addChild("test","123123");
header("Content-type: text/xml; charset=utf-8");
echo $xml->asXML();

这将完美地在屏幕上呈现XML。然而,当我使用以下内容来阅读页面时:

$xml = simplexml_load_file("api.xml");
echo $xml->price;

因此,我首先使用fileget_contents("xml.php")检查了该文件;

但它返回的是PHP代码,而不是代码的输出。我已经通过使用xml.php编写一个名为feed.xml的文件解决了这个问题,该文件运行良好,但我只是想知道为什么使用file_get_contents("xml.php");返回的是代码,而不是解析后的输出。我只是使用了错误的方法来检查文件内容,还是这是xampp的设置问题?

提前谢谢。

这不起作用的原因是file_get_contents是:

将文件内容读取为字符串的首选方式。

它不运行PHP,然后包含响应。要做到这一点,您必须生成xml并使用file_get_contents来获取xml文件,或者使用PHP的cURL函数(如您所建议的)。

您需要使用http://指定完整的url,否则file_get_contents读取本地文件