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

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

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


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

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

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

2. XoPyC (12.07.2010 / 22:12)
<ul>
<?php
$xml = new SimpleXMLElement('http://phpcoder.ws/feed', NULL, TRUE);
foreach ($xml->channel->item as $item) {
  printf('<li><a href="%s">%s</a></li>', $item->link, $item->title);
}
?>
</ul>


3. XoPyC (12.07.2010 / 22:13)
Вот и все. И не говорите что парсить xml сложно smile

4. chiper (18.07.2010 / 16:52)
делаешь вид что здравый кодер а используешь printf(); D

5. Neformat (20.07.2010 / 19:50)
Автор,если копипастишь слово в слово, указывай источник.

6. Azzido (20.07.2010 / 20:49)
Ну легко, так легко, объясни тогда что ты здесь использовал и зачем, покажи еще несколько примеров как ты парсишь xml, давно уже голову ломаю над валидатором, кое что не совсем получается, может из твоих примеров что полезное увижу, а так эта тема пока показалась мне бесполезной, новички все равно ничего не поймут

URL: https://visavi.net/topics/11492