如何从PHP文件中获取RSS源或将PHP转换为xml

时间:2011-12-08 00:35:11

标签: php jquery rss

我使用PHP创建了一个RSS提要页面,并尝试通过JavaScript RSS阅读器代码(http://www.zazar.net/developers/jquery/zrssfeed/

运行它

它无法将PHP文件识别为具有XML代码。虽然我复制了从PHP生成的渲染代码并将其添加到XML文件中,但它确实有效。

有没有办法将这个PHP文件扩展名更改为XML?或者让PHP文件对上面的JavaScript代码可见?

我尝试使用.htaccess来更改文件类型(因为有覆盖它的教程),但它没有用。

你能推荐什么吗?

这是我的代码:

<?php
header ("Content-Type:text/xml");  
$xml = new SimpleXMLElement('<xml/>');

for ($i = 1; $i <= 8; ++$i) {
    $track = $xml->addChild('track');
    $track->addChild('path', "song$i.mp3");
    $track->addChild('title', "Track $i - Track Title");
}

print($xml->asXML());

?>

2 个答案:

答案 0 :(得分:0)

Content-Type标题应为text/xml

你的XML也应该遵循它可能正在做的RSS标准http://www.rssboard.org/rss-specification,因为你可以在php没有渲染时成功打开它。

答案 1 :(得分:0)

某些环境不管理基于mime类型的文件,而只依赖于文件名的扩展名。我会改变两件事:

  • 您可以尝试强制文件名为.xml / .rss扩展名。
  • 不要将'xml'用作节点名称。将其更改为“播放列表”或其他一些内容。

所以,代码可能是这样的:

<?php
header ("Content-Type: text/xml");
$filename = 'playlist.rss';
header ("Content-Disposition: attachment; filename=$filename");
$xml = new SimpleXMLElement('<playlist/>');
... // The rest of the code keeps as the original
?>