Intereting Posts
CakePHP выбирает значение по умолчанию для входа SELECT рекурсивное заполнение базы данных многомерным массивом Контейнер для тортов 2.2.1: Ошибки испеки Получите MIME-тип внешнего файла, используя cURL и php На любых языках Могу ли я захватить веб-страницу и сохранить ее файл изображения? (нет установки, нет activeX) В wordpress, как перенаправить после комментария обратно на ссылочную страницу? Как установить значение атрибута по умолчанию для модели Laravel / Eloquent? Экспорт таблицы HTML в csv в браузере Chrome Chrome Безопасное удаление с помощью PHP 5.3.x WordPress wp-load.php Нужно ли объявлять массив PHP перед добавлением значений с помощью ? Могу ли я имитировать взаимодействие Tumblr, такое как reblog и т. П. Через API? Индексирование Mysql Group BY Query Почему zend_form не может заполнять входы с записями из Firebird db с диакритическими символами? как показать миниатюры видео YouTube

получить медиа: описание и медиа: URL-адрес контента из xml

У меня есть данные XML в которых у какого-то тега элемента есть среда: тег контента у некоторых нет. Как я могу проверить, что контент существует в этом XML а также, как я могу получить описание в теге media: content ?
Вот данные XML :

 <rss xmlns:content="" xmlns:wfw="" xmlns:dc="" xmlns:atom="" xmlns:sy="" xmlns:slash="" version="2.0"> <channel> <item> <title>Title1</title> <link>Link</link> <pubDate>Date</pubDate> <content:encoded> <![CDATA[ This is description 1 ]]> <![CDATA[ This is description 2 ]]> </content:encoded> <media:content url="URL" type="image/jpeg"> <media:description> <![CDATA[ Text ]]> </media:description> </media:content> </item> <item> -- this item tag does not have media: content <title>Title2</title> <link>Link2</link> <pubDate>Date2</pubDate> <content:encoded> <![CDATA[ This is description 3 ]]> <![CDATA[ This is description 4 ]]> </content:encoded> </item> <item> <title>Title3</title> <link>Link3</link> <pubDate>Date3</pubDate> <content:encoded> <![CDATA[ This is description 5 ]]> <![CDATA[ This is description 6 ]]> </content:encoded> <media:content url="UR1L" type="image/jpeg"> <media:description> <![CDATA[ Text 2 ]]> </media:description> </media:content> </item> </channel> </rss> 2 <rss xmlns:content="" xmlns:wfw="" xmlns:dc="" xmlns:atom="" xmlns:sy="" xmlns:slash="" version="2.0"> <channel> <item> <title>Title1</title> <link>Link</link> <pubDate>Date</pubDate> <content:encoded> <![CDATA[ This is description 1 ]]> <![CDATA[ This is description 2 ]]> </content:encoded> <media:content url="URL" type="image/jpeg"> <media:description> <![CDATA[ Text ]]> </media:description> </media:content> </item> <item> -- this item tag does not have media: content <title>Title2</title> <link>Link2</link> <pubDate>Date2</pubDate> <content:encoded> <![CDATA[ This is description 3 ]]> <![CDATA[ This is description 4 ]]> </content:encoded> </item> <item> <title>Title3</title> <link>Link3</link> <pubDate>Date3</pubDate> <content:encoded> <![CDATA[ This is description 5 ]]> <![CDATA[ This is description 6 ]]> </content:encoded> <media:content url="UR1L" type="image/jpeg"> <media:description> <![CDATA[ Text 2 ]]> </media:description> </media:content> </item> </channel> </rss> 

Я пробовал:

 <?php function feeds() { $url = "http://localhost/xmldata/xmld.xml"; // xmld.xml contains above data $feeds = file_get_contents($url); $rss = simplexml_load_string($feeds); foreach($rss->channel->item as $entry) { if($entry->children('media', true)->content->attributes()) { $md = $entry->children('media', true)->content->attributes(); print_r("$md->url"); } } } ?> 

Он возвращает мне ошибку, как показано ниже:

Узел больше не существует

Даже я не знаю, как получить медиа: описание, которое находится в медиатеке: тег контента .