Я загружаю файл XML через simpleXML. Я новичок в лучшем случае на PHP и новичок в разборе PHP, но я немного запутался
Я пытаюсь понять структуру переменной, которую я сохранил, поэтому я попробовал var_dump ()
Вещь, которая меня смущает, – это данные, которые я ищу, которые находятся в XML, нигде в данных сбрасываемых данных
http://gdata.youtube.com/feeds/api/videos?q=surfing&max-results=25
Это URL, который я использую в данный момент. Однако, например, продолжительность / секунда нигде не встречается в данных сбрасываемых переменных – где это и как я могу получить к ней доступ?
вот результат, который я получаю: http://pastebin.com/ggumXTEu
Путь к <yt:duration>
есть /feed/entry/media:group/yt:duration/
Вы не видите эти элементы при использовании var_dump (), потому что они принадлежат пространству имен (media и yt).
Вы можете использовать SimpleXMLElement-> children () для доступа к этим элементам, вам необходимо предоставить пространство имен-uri в качестве аргумента для children()
<ol> <?php $xml=simplexml_load_file('http://gdata.youtube.com/feeds/api/videos?q=surfing&max-results=25'); foreach($xml->entry as $entry) { $duration=$entry ->children('http://search.yahoo.com/mrss/') ->group ->children('http://gdata.youtube.com/schemas/2007') ->duration ->attributes() ->seconds; printf('<li><strong>%s</strong>( %ds)</li>',$entry->title,$duration); } ?> </ol>