Esempio n. 1
0
 public function testReadEmpty()
 {
     $reader = new Xml();
     $message = new Message(array(), '');
     $dom = $reader->read($message);
     $this->assertNull($dom);
 }
Esempio n. 2
0
 /**
  * $url should be an url to an ATOM or RSS feed. If the feed has an hub tag
  * the url will be returned as PSX\Url object
  *
  * @param PSX\Url $url
  * @return PSX\Url|boolean
  */
 public function discover(Url $url, $type = 0)
 {
     $reader = new Xml();
     $request = new GetRequest($url);
     $request->setFollowLocation(true);
     $response = $this->http->request($request);
     switch ($type) {
         case self::RSS2:
             $dom = $reader->read($response);
             $elements = $dom->getElementsByTagNameNS(Atom::$xmlns, 'link');
             break;
         case self::ATOM:
         default:
             $dom = $reader->read($response);
             $elements = $dom->getElementsByTagName('link');
             break;
     }
     for ($i = 0; $i < $elements->length; $i++) {
         $link = $elements->item($i);
         if (strcasecmp($link->getAttribute('rel'), 'hub') == 0) {
             $href = new Url($link->getAttribute('href'));
             return $this->lastHub = $href;
         }
     }
     return false;
 }