Example #1
0
 public function writeChannel(RssWriter $rssWriter, Channel $channel)
 {
     $writer = $rssWriter->getXmlWriter();
     $writer->startElement('channel');
     $writer->startElement('title');
     $writer->writeCdata($channel->getTitle());
     $writer->endElement();
     $writer->writeElement('link', $channel->getLink());
     $writer->startElement('description');
     $writer->writeCdata($channel->getDescription());
     $writer->endElement();
     if ($channel->getLanguage()) {
         $writer->writeElement('language', $channel->getLanguage());
     }
     if ($channel->getCopyright()) {
         $writer->startElement('copyright');
         $writer->writeCdata($channel->getCopyright());
         $writer->endElement();
     }
     if ($channel->getManagingEditor()) {
         $writer->startElement('managingEditor');
         $writer->writeCdata($channel->getManagingEditor());
         $writer->endElement();
     }
     if ($channel->getWebMaster()) {
         $writer->startElement('webMaster');
         $writer->writeCdata($channel->getWebMaster());
         $writer->endElement();
     }
     if ($channel->getPubDate()) {
         $writer->writeElement('pubDate', $channel->getPubDate()->format('r'));
     }
     if ($channel->getLastBuildDate()) {
         $writer->writeElement('lastBuildDate', $channel->getLastBuildDate()->format('r'));
     }
     foreach ($channel->getCategories() as $category) {
         $this->writeCategory($writer, $category);
     }
     if ($channel->getGenerator()) {
         $writer->startElement('generator');
         $writer->writeCdata($channel->getGenerator());
         $writer->endElement();
     }
     if ($channel->getDocs()) {
         $writer->writeElement('docs', $channel->getDocs());
     }
     if ($channel->getCloud()) {
         $this->writeCloud($writer, $channel->getCloud());
     }
     if ($channel->getTtl()) {
         $writer->writeElement('ttl', $channel->getTtl());
     }
     if ($channel->getImage()) {
         $this->writeImage($writer, $channel->getImage());
     }
     if ($channel->getRating()) {
         $writer->writeElement('rating', $channel->getRating());
     }
     foreach ($channel->getExtensions() as $extension) {
         $rssWriter->writeObject($extension);
     }
     foreach ($channel->getItems() as $item) {
         $rssWriter->writeObject($item);
     }
     $writer->endElement();
 }