• Руслан
  • 01 Фев 2009
  • Рубрика: PHP

Простой парсер при помощи SimpleXML

Новички в программировании на PHP часто спрашивают в сети простой способ извлечь нужные данные из xml-документа. Но в ответ им почему-то часто советуют изучать DOM, SAX, предлагают разные запутанные способы разбора XML, основанные на событийной модели. Некоторые даже советуют устанавливать сторонние расширения!!!

Но ведь на самом деле в PHP все не так плохо! В самом php есть готовые и очень простые в использовании классы для работы с xml - это SimpleXML.

Основные плюсы - это простота и доступность. Его не нужно специально устанавливать и поэтому можно быть на 99% уверенным что на хостинге использованные классы также будут доступны.

Возьмем самый распространенный пример - rss-канал какого-нибудь блога. Чтобы не ходить далеко за примером можно взять даже этот блог. По адресу http://webdev.ks.ua/feed доступен xml-документ, содержащий список последних постов на блоге с заголовками, описанием, постоянными ссылками на статьи и пр. Вот его я и буду парсить.

Предположим, что нам нужно составить список заголовков статей и их адресов. Это и сделает нижеприведенный скрипт.

<ul>
<?php
$xml = new SimpleXMLElement('http://webdev.ks.ua/feed', NULL, TRUE);
foreach ($xml->channel->item as $item) {
  printf('<li><a href="%s">%s</a></li>', $item->link, $item->title);
}
?>
</ul>

Вот и все. И не говорите что парсить xml сложно :)

Если вам понравился этот сайт, вы можете подписаться на rss

Отзывы: 2 комментария

  • Harn
    25 Май 2009 в 19:51

    Спасиб, очень пригодилось ^_^

  • максим
    21 Сен 2009 в 17:52

    он выводит только заголовок, а что нужно прописать что бы выводил фото с заголовками

Ваш отзыв

Имя (*)

E-mail (*)

Сайт

Сообщение

Архивы

Реклама

службы мониторинга серверов