如何在PHP中回显XML文件

2022-08-30 12:08:39

如何在PHP中将XML文件打印到屏幕上?

这不起作用:

$curl = curl_init();        
curl_setopt ($curl, CURLOPT_URL, 'http://rss.news.yahoo.com/rss/topstories');   
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);   
$result = curl_exec ($curl);   
curl_close ($curl);    
$xml = simplexml_load_string($result);
echo $xml;

有没有简单的解决方案?也许没有SimpleXML?


答案 1

您可以使用HTTP URL,就好像它们是本地文件一样,这要归功于PHP的包装器

您可以通过file_get_contents()从URL中获取内容,然后回显它,甚至可以使用readfile()直接读取它

$file = file_get_contents('http://example.com/rss');
echo $file;

readfile('http://example.com/rss');

但是,不要忘记在输出任何内容之前设置正确的MIME类型。

header('Content-type: text/xml');

答案 2

以下是对我有用的方法:

<pre class="prettyprint linenums">
    <code class="language-xml"><?php echo htmlspecialchars(file_get_contents("example.xml"), ENT_QUOTES); ?></code>
</pre>

使用htmlspecialchars将阻止标签显示为html,并且不会破坏任何东西。请注意,我正在使用Prettyprint来突出显示代码;)


推荐