如何将RSS数据附加到现有的RSS XML文件中?

时间:2011-06-16 11:21:28

标签: php

我在该文件夹上存在RSS数据XML文件。我必须将新数据附加到RSS XML文件。我只需要用PHP做。我有来自Web服务的rss数据(item,title,url,desc)。我必须附加到现有的rss xml文件,该文件包含以前的数据。

RSS数据格式是这样的

 <rss version="2.0">
  <channel>
    <title>My Site Feed</title>
    <link>http://www.mysitethathasfeed.com/feed/</link>
    <description>
        A nice site that features a feed.
    </description>
    <item>
        <title>Launched!</title>
        <link>http://www.mysitethathasfeed.com/feed/view.php?ID=launched</link>
        <description>
           We just launched the site! Come join the celebration!
        </description>
    </item>
  </channel>
</rss>

我想仅使用PHP动态添加另一个项目。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

查看:Document Object Model

这是一些可能让你开始的东西:

$dom = new DOMDocument;
$dom->load('%path-to-your-rss-file%');

$xpath = new DOMXPath($dom);
$channelNode = $xpath->query('/rss/channel')->item(0);
if ($channelNode instanceof DOMNode) {
    // create example item node (this could be in a loop or something)
    $item = $channelNode->appendChild($dom->createElement('item'));

    // the title
    $item->appendChild(
        $dom->createElement('titel', '%title text%')
    );

    // the link
    $item->appendChild(
        $dom->createElement('link', '%link text%')
    );

    // the description
    $item->appendChild(
        $dom->createElement('description', '%description text%')
    );
}

$dom->save('%path-to-your-rss-file%');

当然,您需要对xml文件进行写访问!

答案 1 :(得分:0)

lots of tools用于操纵RSS Feed。

这是使用examplesimplepieHere's one用于mapgpie。

谷歌上有很多。