Разбор медиа: контент из RSS-канала с PHP - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь проанализировать медиа: контент из RSS с PHP и затем показать его с помощью HTML.

Я просмотрел множество постов на одну и ту же тему, но, поскольку я новичок, я не мог этого понять, потому что коды отличались от моих.

В настоящее время у меня нет ни одной строки, которая пытается получить изображение из xml.

<?php
$html = "";
$url = "url.rss";

$xml = simplexml_load_file($url);
$namespaces = $xml->getNamespaces(true);

for($i = 0; $i < 50; $i++){
    $title = $xml->channel->item[$i]->title;
    $link = $xml->channel->item[$i]->link;
    $description = $xml->channel->item[$i]->description;
    $pubDate = $xml->channel->item[$i]->pubDate;
    $author = $xml->channel->item[$i]->author;


    $html .= "<a href='$link'><h3>$title</h3></a>";
    $html .= "$description";
    $html .= "<p>$pubDate</p>";
    $html .= "<p>$author</p><hr>";

}
echo $html;
?>

Это информация, которая мне нужна из файла XML:

 <media:content url="www.image.jpg" medium="image" type="image/jpeg"     width="850" height="425" />

Спасибо!

Я ожидаю, что файл PHP покажет медиа-файл.

1 Ответ

0 голосов
/ 11 июня 2019

Можете ли вы дать нам больше информации? Каково значение «$ xml» после запуска simplexml_load_file? (вы получили правильные данные?)

Какое сообщение об ошибке вы получили?

РЕДАКТИРОВАТЬ - согласно вашему комментарию

попробуйте использовать

$xml->channel->item[$i]->children('media', true)->content->attributes();

«media» внутри дочерних элементов - это пространство имен для элемента «content». В то время как логическая переменная 'true' указывает парсеру ссылаться на 'media' как на пространство имен

...