2016-09-15 2 views
0

Я пытаюсь распечатать XML-файл на моей php-странице, но этот код работает некорректно, и я понятия не имею, почему. Он просто показывает код, как в браузере, от xpath до?>. Может кто-нибудь помочь мне с этим, пожалуйста,код для корма XML не работает правильно

<html> 
<head> 
    <title>XML FEED</title> 
</head> 
<body> 
    <ul> 
    <?php 
    $dom = simplexml_load_file("http://feeds.bbci.co.uk/news/rss.xml"); 
    foreach ($dom->xpath("/channel/item") as $item) 
    { 
     print "<li>"; 
     print $item->title; 
     print "</li>"; 
    } 
    ?> 
    </ul> 
</body> 
</html> 
+0

Для starters, попробуйте полный PHP-тег '

+0

, я все же ничего не показывал из RSS-канала. –

+0

Hrm .. попробуйте добавить print_r ($ dom); перед вашим визитом, давайте посмотрим, получаете ли вы что-нибудь. –

ответ

0

скорректируйте XPath с двойным слэшем, как канала не является корневым элемент:

foreach ($dom->xpath("//channel/item") as $item) { 
    ... 
} 

В качестве альтернативы, использовать корень, RSS, элемент в выражении:

foreach ($dom->xpath("/rss/channel/item") as $item) { 
    ... 
} 
0

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

Поскольку PHP не синтаксический анализ кода, просмотр отправляется следующее ...

<? . . . . . foreach ($dom-> 

Который не действует HTML, поэтому он не отображаются, но если просмотреть исходный код вашей страницы, вы увидите больше своего PHP-кода.

Простое начало кода с <?php вызовет разбор PHP, и все должно сработать.

+0

Я использовал