Простой парсер при помощи SimpleXML
1.
XoPyC (12.07.2010 / 22:10)
Новички в программировании на PHP часто спрашивают в сети простой способ извлечь нужные данные из xml-документа. Но в ответ им почему-то часто советуют изучать DOM, SAX, предлагают разные запутанные способы разбора XML, основанные на событийной модели. Некоторые даже советуют устанавливать сторонние расширения!!!
Но ведь на самом деле в PHP все не так плохо! В самом php есть готовые и очень простые в использовании классы для работы с xml – это SimpleXML.
Основные плюсы – это простота и доступность. Его не нужно специально устанавливать и поэтому можно быть на 99% уверенным что на хостинге использованные классы также будут доступны.
Возьмем самый распространенный пример – rss-канал какого-нибудь блога. Чтобы не ходить далеко за примером можно взять даже этот блог. По адресу
http://phpcoder.ws/feed доступен xml-документ, содержащий список последних постов на блоге с заголовками, описанием, постоянными ссылками на статьи и пр. Вот его я и буду парсить.
Предположим, что нам нужно составить список заголовков статей и их адресов. Это и сделает нижеприведенный скрипт.
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 сложно
4.
chiper (18.07.2010 / 16:52)
делаешь вид что здравый кодер а используешь printf();
5.
Neformat (20.07.2010 / 19:50)
Автор,если копипастишь слово в слово, указывай источник.
6.
Azzido (20.07.2010 / 20:49)
Ну легко, так легко, объясни тогда что ты здесь использовал и зачем, покажи еще несколько примеров как ты парсишь xml, давно уже голову ломаю над валидатором, кое что не совсем получается, может из твоих примеров что полезное увижу, а так эта тема пока показалась мне бесполезной, новички все равно ничего не поймут
URL:
https://visavi.net/topics/11492