我需要通过Apache请求在浏览器中显示一个XML文件。因此,我可以将文件提供给freeswitch。我的PHP代码是这样的:
<?php
header('Content-Type: text/xml');
$xml=simplexml_load_file("test.xml") or die("not found");
echo "<pre>".print_r($xml,true)."</pre>";
?>
但我得到以下输出:
<pre>SimpleXMLElement Object
(
[@attributes] => Array
(
[type] => freeswitch/xml
)
[section] => SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => configuration
)
[configuration] => SimpleXMLElement Object
(
[@attributes] => Array
(
[description] => Network Lists
[name] => acl.conf
)
[network-lists] => SimpleXMLElement Object
(
[list] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => localhost_allow
[default] => allow
)
[node] => SimpleXMLElement Object
(
[@attributes] => Array
(
[type] => allow
[cidr] => 127.0.0.1/32
)
)
</pre>
我只需要在浏览器中输出漂亮的xml。或者,我可以通过其他方式提供xml文件。任何想法? 谢谢
答案 0 :(得分:4)
您不需要将XML文件作为对象加载。 只需加载文件的原始内容并打印:
$file = file_get_contents("test.xml");
echo $file;
浏览器将为您完成其余的工作。
答案 1 :(得分:2)
也许这可以解决问题,如果没有,我相信您必须解析xml,然后可以根据需要对其进行格式化。
<?php
header('Content-Type: text/xml');
$xml=simplexml_load_file("test.xml") or die("not found");
echo $xml->asXML();
?>