Использование XMLDOM для извлечения данных из каналов YouTube - PullRequest
0 голосов
/ 20 февраля 2012

Я использую PHP и XMLDOM для получения данных о видео на YouTube. Извлечение данных из универсальных элементов прекрасно, например: <title></title>. Но я понятия не имею, как получить пространство имен мультимедиа, например: <media:statistics viewCount="1234567" />. Как бы я получить значение viewCount?

Вот мой код:

/* Retrieve information for YouTube video */
$ytUser = "http://gdata.youtube.com/feeds/api/users/".$user."/uploads?orderby=published&start-index=1&max-results=1"; 

// Read feed in to DOM
$doc = new DOMDocument( '1.0', 'utf-8' );
$doc->load( $ytUser );
$doc->formatOutput = true;
$doc->preserveWhiteSpace = false;
// Video Author 
$ytAuthor = $doc->getElementsByTagName( "name" )->item( 0 )->nodeValue;
// YT title 
$ytTitle = $doc->getElementsByTagName( "title" )->item( 0 )->nodeValue;
// YT description 
$des = $doc->getElementsByTagName( "description" )->item( 0 )->nodeValue;
$ytDescription = ( strlen( $des ) > 350 ) ? substr( $des, 0, 350 ) . '...' : $des;

1 Ответ

0 голосов
/ 20 февраля 2012

Вы должны использовать метод getElementsByTagNameNS, например:

$ns = 'the-complete-namespace-uri-for-media';
$media_statistics = $doc->getElementsByTagNameNS( $ns , 'statistics' );

См. Документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...