Инструменты для работы с XML в PHP5: что лучше, проще, быстрее? Ваше мнение

master_x

Pitavale XXI wieku
Инструменты для работы с XML в PHP5: что лучше, проще, быстрее? Ваше мнение

тема :)

-~{}~ 16.08.05 21:33:

работал с DOM... но к сожалению, не кажется, что он слишком прост и понятен. Ведь сам по себе формат XML существует для того, чтобы облегчить работу с документами. Структура произвольная, как следствие очень понятная... а вот средства работы с XML... Пробовал SimpleXML. Кака, просто потому что, чтобы получить атрибуты ноды надо пройтись по ним циклом... В общем вразумите, кто сможет. Может быть что-то не так со мной.

-~{}~ 16.08.05 21:39:

сенькс, что перенели, а то я вечно забываю, что есть форум по XML здесь же.
 

WMix

герр M:)ller
Партнер клуба
У меня всегда стоит вопрос, а на сколько нужен именно дом!
для парсинга хмл документов пользуюсь саксом, и мне его на данный момент полностью хватает.

на мой взгляд, а заодно яб почитал мнение других, ДОМ является удобен для состовления хмл документов из кусков

те. вытягиваем данные из дб , из файла, из хмела, проходим циклами, и создаём обьектную модель в одном апи ...

получаем хмл

В случии Анализа данных при считывании удобнее пользоваться всёже сахом.
 

master_x

Pitavale XXI wieku
to WMix:
Спасибо за мнение. А насколько удобно и быстро пользоваться саксом?
Писал тут один знакомый нечто. Появилась у него идея хранить невоторые данные в XML (это удобно, это просто и т.д.). В результате все вылилось в достаточно большой код с использованием DOM XML еще в четвертой версии. Документы состояли из трех-четырех нод. Помозговали мы и пришли к выводу, что лучше уж мы будем это барахло в базе хранить, или в файле со своим простым форматом (через разделитель какой, чтоб совсем просто), а при надобности конвертить в XML. Вот такой вот подход получился :)
 

Alexandre

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

SimpleXML - пока не нашел оптимальное применение.
 

slach

Новичок
IMHO область применения SimpleXML - статические конфиги, которые не требуют обновления...
 

master_x

Pitavale XXI wieku
вроде как нашел я наилучший способ работать с XML- DOM+ XPath. Но есть опять же два пункта: некоторые функции XPath поддерживает только самая что ни на есть последняя версия PHP, а в PHP4 (который сейчас у большинства хостеров) DOM не так развит и полностью отличается от DOM в PHP5 да и XPath в четверке кривой. А за простоту кода можно смело ставить пятерку.
 

WMix

герр M:)ller
Партнер клуба
master_x
я понимаю что в ДОМ достаточно обьявить новый документ, и на этом парсинг (в смысле код) закончен, а в САКСЕ этот парсер надо подвязывать,.. обьявлять функции итд...

я про другое, А именно продуктивность.
ДОМ считает все дерево, Сах можно остановить на хоть вначале, хоть в середине. походу парсинга делать дополнительные действия ... все за один раз!!... получается очень красивый код
я мыслить начал иначе когда с саксом столкнулся!

А за простоту кода можно смело ставить пятерку.
помимо знаний пхп надо обладать знаниями XPath !!

Вот я слыхал что есть реализация НА ЯВА Некого сакса, который походу парсинга строит еще и Обьектную модель!
в смысле,.. пользуюсь саксом... анализирую, а после на всякий, у меня сохранилась копия дерева в виде Обьектов..

есть чтонить подобное в пхп?
 

chameleon

Новичок
Некого сакса, который походу парсинга строит еще и Обьектную модель! в смысле,.. пользуюсь саксом... анализирую, а после на всякий, у меня сохранилась копия дерева в виде Обьектов.
потоковым SAX-ом обычно парсят файлы, DOM-модель которых не умещается в памяти - это основное различие. И если я могу сделать DOM зачем мне SAX? :)..
 

Sherman

Mephi
Имхо,

для чтения подойдет:

simpleXML(но ждем путевого XmlReader).

а для записи и прочих манипуляцих:

DOM.

Вообще, ничего удобнее, чем .NET XmlReader для чтения я не видел.

SAX модель в принципе не нравится.
 
Сверху