Я использую PHP и XMLDOM для получения данных о видео на YouTube. Извлечение данных из универсальных элементов прекрасно, например: <title></title>. Но я понятия не имею, как получить пространство имен мультимедиа, например: <media:statistics viewCount="1234567" />. Как бы я получить значение viewCount?
<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;
Вы должны использовать метод getElementsByTagNameNS, например:
getElementsByTagNameNS
$ns = 'the-complete-namespace-uri-for-media'; $media_statistics = $doc->getElementsByTagNameNS( $ns , 'statistics' );
См. Документацию .