не может прочитать RSS-канал с тэгом имеет двойные точки на переполнение стека

Я хочу получить автора из RSS-канала, но с моим кодом можно заметить, прочитайте это. Я думаю, что проблема в имени тега с двойными точками. (посмотрите на скриншот).

мой код:

//get first feed

function ermGetFirstFeed($feed, $language){

//Get Feed Content
$feed_to_array = simplexml_load_file($feed, 'SimpleXMLElement', LIBXML_NOCDATA);
$chanel_newest = $feed_to_array->channel;

//Get IMG Link
$imgLink = $chanel_newest->item->imageItem->attributes()->__toString();

//Get Date-Link
$date = $chanel_newest->lastBuildDate->__toString();
$newDate = new DateTime($date);
if($language == true){
setlocale(LC_ALL, "en_US.UTF-8");
}
$newDate = $newDate->format('F j,Y');

//Get Title
$title = $chanel_newest->item->title->__toString();

//Get Description
$description = $chanel_newest->item->description->__toString();

//Get Link
$link = $chanel_newest->item->guid->__toString();

//Get Author
//TODO !!!!!! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//Create First Feed
$firstFeed = array();
$firstFeed = array(
'img_link' => $imgLink,
'date' => $newDate,
'title' => $title,
'description' => $description,
'link' => $link,
'autor' => 'empty'
);return $firstFeed;
}

Данные выглядят так.

вот ссылка на канал:

https://www.abb-conversations.com/DACH/feed

Спасибо за помощь

0

Решение

Добавьте требуемое пространство имен:

$feed_to_array = simplexml_load_file($feed, 'SimpleXMLElement', LIBXML_NOCDATA);
$feed_to_array->registerXPathNamespace('dc', 'http://purl.org/dc/elements/1.1/');

Получить желаемое значение

$creator = $chanel_newest->item->xpath('dc:creator')[0]->__toString();
echo $creator;
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector