RSS Feed — Не удалось загрузить начальный тег XML, ‘& lt;’ не найдено

Я пытаюсь получить RSS-канал от Сайт Sotheby’s работая на моем сайте, используя стандартную функцию чтения PHP, которая использует simplexml_load_file и цикл, но он не работает должным образом. Когда я подключаю этот код, я получаю сообщение «Не удалось загрузить тег XML Start»<«не найдена» ошибка.

<?php
$url = 'http://apps.shareholder.com/rss/rss.aspx?channels=2908&companyid=BID&sh_auth=1184301877%2E0%2E0%2E42356%2E14434fd9e3fcb0c832c884fe9ff36e31';
libxml_use_internal_errors(true);
$sxe = simplexml_load_string($url);
if ($sxe === false) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
print_r($rss);
?>

Я пытался использовать локон от эта публикация но он просто печатает пустой предварительный тег.

Вот читательский код PHP, который я использовал …

<?php
$url = "http://apps.shareholder.com/rss/rss.aspx?channels=2908&companyid=BID&sh_auth=1184301877%2E0%2E0%2E42356%2E14434fd9e3fcb0c832c884fe9ff36e31";
$rss = simplexml_load_file($url);
if($rss)
{
$items = $rss->channel->item;
foreach($items as $item)

{
if($i==5) break;
$title = $item->title;
$link = $item->link;
$published_on = $item->pubDate;
$description = $item->description;?>
<hr>
<div class="news-story">
<?php
echo '<h3><a href="'.$link.'">'.$title.'</a></h3>';
echo '<span class="news-date">('.$published_on.')</span>';
?>

</div>
<?php
$i++;
}
}
?>

А вот и Sotheby’s новости RSS канал Я пытался вытащить из.

Любая помощь или предложения будут очень полезны. Спасибо!

РЕДАКТИРОВАТЬ

Спасибо Четвертая птица за ссылку на это Вопрос стека, он работал прошлой ночью, но когда я проверяю сегодня, он перестал работать …

<?php
$context  = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'http://apps.shareholder.com/rss/rss.aspx?channels=2908&companyid=BID&sh_auth=1184301877%2E0%2E0%2E42356%2E14434fd9e3fcb0c832c884fe9ff36e31';

$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
print_r($xml);
?>

Вот некоторые из ошибок, которые я получаю в своем MAMP php_error.log:

[18-Dec-2015 07:46:41 Америка / New_York] Предупреждение PHP: simplexml_load_string (): </ html> в (* корневая папка моего сайта)

[18-Dec-2015 07:46:41 America / New_York] Предупреждение PHP: simplexml_load_string (): ^ in (* корневая папка моего сайта)

[18-Dec-2015 07:46:41 Америка / New_York] PHP Предупреждение: simplexml_load_string (): сущность: строка 85: ошибка синтаксического анализатора: преждевременный конец данных в теге html строка 2 в (* корневая папка моего сайта)

И они в основном повторяются.

0

Решение

В первом предоставленном вами блоке кода вы используете simplexml_load_string.

Руководство описывает первый параметр как:

Правильно сформированная строка XML

В вашем коде вы передаете URL. Если вы хотите использовать simplexml_load_string, ответ на этот вопрос может помочь вам:
Использование SimpleXML для загрузки удаленного URL

Во втором предоставленном вами блоке кода вы используете simplexml_load_file

Руководство описывает первый параметр как:

Путь к файлу XML

Если я попробую код во втором блоке кода, он показывает мне данные из RSS Feed, он только дает мне следующее уведомление PHP:

Примечание PHP: неопределенная переменная: i

1

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

Это была последняя часть URL, которая вызывала его разрыв при разборе данных XML. Когда я снял&sh_auth = 1184301877% 2E0% 2E0% 2E42356% 2E14434fd9e3fcb0c832c884fe9ff36e31 ‘из URL-адреса исходного блока кода, который я разместил с помощью simplexml_load_file (), работал отлично и с тех пор не сломался. Спасибо за помощь Четвертая птица!

0

По вопросам рекламы [email protected]