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(); }