| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Что лучше для разбора xml-документа |
| Автор: Barvetal 12.4.2006, 14:40 |
| Всем привет! Стоит задача разбора различных xml-документов. Иногда есть ситуации, когда xsl-преобразования недостаточно. Вот здесь и пытаюсь додуматься, какую из технологий следует использовать для разбора xml-документа: sax (когда парсер дергает мои функции, и передает им теги и их содержание), dom (когда я иду по дереву), или jaxb (когда мне строится структура классов, соответствующая xml-документу). Как думаете, какую из этих технологий следует использовать в общем случае? Какая из них работает наиболее быстро? Помогите разобраться, пожалуйста. Всем заранее спасибо! |
| Автор: tux 12.4.2006, 14:50 |
| SAX гораздо экономнее использует память поскольку нет необходимости хранить весь XML в отличие от DOM и JAXB. Как следствие, можно обрабатывать документы любого размера. Как здесь производительность сравнивать не понятно, ведь это совершенно разные вещи. Вообще скорость работы уже будет от тебя зависеть - сам ведь будешь писать методы для обработки. |
| Автор: Barvetal 13.4.2006, 13:35 |
| Нашел очень замечательную статью по сравнению производительности технологий разбора xml-файлов: http://javagu.ru/portal/dt?last=false&provider=javaguru&ArticleId=GURU_ARTICLE_81147&SecID=GURU_SECTION_80704 На этом же сайте есть масса других интерестных статей по xml и java |
| Автор: 3,14 14.4.2006, 11:42 |
| tux, правильно говорит, сравнивать их нельзя, DOM и JAXB гораздо удобней, но они записывают документ целиком в память, SAX конечно по шустрее, но если написанный тобой код сведётся к тому, что ты ручками через SAX бужешь делать тоже что делает DOM, быстрее чем DOM у тебя не получиться. |
| Автор: ALKS 15.4.2006, 11:08 |
| SAX не быстрее JAXB. JAXB для того и придуман: для работы как-бы с DOM но со скоростью SAX. Но конечно тут еще многое зависит от того какую имплементацию использовать. Я лично всегда, если возможно, выбираю JAXB ибо просто, удобно и JAXB2 уже весьма вылезанная библиотека, не что первые версии... как вспомню, так вздрогну. |
| Автор: 3,14 17.4.2006, 09:33 |
| На сколько я помню JAXB так же как и DOM подгружает документ в память целиком, что есть очень большое ограничение. |