Lonely Dreamer (sanmai) wrote,
Lonely Dreamer
sanmai

PHP: Create RSS with DOMDocument

Дальше только для программистов.

В сети сходу находится только один пример создания RSS через DOMDocument, да и тот не слишком меня впечатлил. Потому я просто оставлю это здесь:

<?php
$xml = new DOMDocument("1.0", "utf-8");
$xml->formatOutput = true;

$rss = $xml->createElement("rss");
$rss->setAttribute("version", "2.0");
$rss->setAttribute("xmlns:atom", "http://www.w3.org/2005/Atom");
$xml->appendChild($rss);

$channel = $xml->createElement("channel");
$rss->appendChild($channel);

$atomLink = $xml->createElement("atom:link");
$atomLink->setAttribute("href", 'http://feeds.feedburner.com/example');
$atomLink->setAttribute("rel", 'self');
$atomLink->setAttribute("type", 'application/rss+xml');
$channel->appendChild($atomLink);

$channel->appendChild($xml->createElement("title", 'Название блога'));
$channel->appendChild($xml->createElement("link", 'http://www.example.com/'));
$channel->appendChild($xml->createElement("description", 'Самый интересный блог на свете!'));
$channel->appendChild($xml->createElement("language", "ru-ru"));
$channel->appendChild($xml->createElement("lastBuildDate", date('r')));
$channel->appendChild($xml->createElement("ttl", "60"));

$blog = new myBlog();
$channel->appendChild($xml->createElement("pubDate", date('r', $blog->getLastUpdateDate())));

$blog->setLimit(10);
while ($record = $blog->getEntry()) {
    $item  = $xml->createElement('item');
    $entry->appendChild($xml->createElement('title', $record->getTitle()));
    $entry->appendChild($xml->createElement('link', $record->getURL()));
    $entry->appendChild($xml->createElement('guid', $record->getURL()));
    $entry->appendChild($xml->createElement('pubDate', date('r', $record->getPubTime())));
    $entry->appendChild($xml->createElement('description', $record->getContent()));
    $channel->appendChild($entry);
}

header('Content-Type: application/rss+xml; charset=utf-8');
echo $xml->saveXML();
Tags: php
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments