Beispiel #1
0
 private function extract(\DOMElement $node)
 {
     $item = new Record();
     foreach (self::$propertiesMapping as $nodeName => $methodName) {
         $item->{$methodName}($this->getNodeValueByTagName($node, $nodeName));
     }
     if ($date = $this->getNodeValueByTagName($node, 'pubDate')) {
         $item->setPublicationDate(\DateTime::createFromFormat(\DateTime::RSS, $date));
     }
     $tags = $node->getElementsByTagName('category');
     if ($tags->length) {
         foreach ($tags as $tag) {
             /** @var \DomElement $tag */
             if ($tag->nodeValue) {
                 $item->addTag($tag->nodeValue);
             }
         }
     }
     return $item;
 }
Beispiel #2
0
 private function setTags(\DOMElement $node, Record $item)
 {
     $tags = $node->getElementsByTagName('category');
     foreach ($tags as $tag) {
         /** @var \DomElement $tag */
         if ($tag->getAttribute('term')) {
             $item->addTag($tag->getAttribute('label') ?: $tag->getAttribute('term'));
         }
     }
 }