Получение XML-фида и вывода - PullRequest
1 голос
/ 03 октября 2011

Здравствуйте! Я хочу получить XML-ленту для своего сайта:

http://buildworx-mc.com/forum/syndication.php?fid=4&limit=5

И отобразить их в следующем формате:

<ul>
   <li><a href="linktothread"> Topic 1 </a> </li>
   <li><a href="linktothread"> Topic 2 </a> </li>
   <li><a href="linktothread"> Topic 3 </a> </li>
</ul>

Я думаю, что лучший / самый простой способ сделать это - использовать PHP, так как я могу получить XML и отобразить его в элементах списка? Он будет отображаться на http://example.com, а подача - http://example.com/forum

Я попробовал другие ответы на другие вопросы, но у меня ничего не получается.

Ответы [ 2 ]

1 голос
/ 06 октября 2011

Вам может потребоваться использовать команду «file_get_contents», чтобы получить копию удаленного файла, чтобы проанализировать его с помощью PHP. Я удивлен, что этот шаг необходим, поскольку вы говорите, что хотите отображать элементы с вашего форума на своем сайте, чтобы вы могли установить переменную feed для прямой ссылки, предполагая, что все находится в одном домене. Если нет, это должно сработать.

    $feed = file_get_contents('http://buildworx-mc.com/forum/syndication.php?fid=4&limit=5');
    $xml = simplexml_load_string($feed);

    $items = $xml->channel->item;

    foreach($items as $item) {
      $title = $item->title;
      $link = $item->link;
      $pubDate = $item->pubDate;
      $description = $item->description;

      echo  $title . "<br>";

     // continue to format as an unordered list

      }
1 голос
/ 03 октября 2011

Вы можете попробовать SimpleXML, когда используете PHP: http://php.net/manual/en/book.simplexml.php

Просто загрузите этот URL, чтобы он преобразовал файл XML в объект: http://www.php.net/manual/en/function.simplexml-load-file.php

Затем выможет итерировать объекты с простым «foreach», чтобы генерировать тот список HTML, который вы хотите.

В целях тестирования и для понимания того, как создается объект, вы можете использовать «print_r ()».

...