![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Barvetal |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Всем привет!
Стоит задача разбора различных xml-документов. Иногда есть ситуации, когда xsl-преобразования недостаточно. Вот здесь и пытаюсь додуматься, какую из технологий следует использовать для разбора xml-документа: sax (когда парсер дергает мои функции, и передает им теги и их содержание), dom (когда я иду по дереву), или jaxb (когда мне строится структура классов, соответствующая xml-документу). Как думаете, какую из этих технологий следует использовать в общем случае? Какая из них работает наиболее быстро? Помогите разобраться, пожалуйста. Всем заранее спасибо! |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
SAX гораздо экономнее использует память поскольку нет необходимости хранить весь XML в отличие от DOM и JAXB. Как следствие, можно обрабатывать документы любого размера. Как здесь производительность сравнивать не понятно, ведь это совершенно разные вещи. Вообще скорость работы уже будет от тебя зависеть - сам ведь будешь писать методы для обработки.
|
|||
|
||||
| Barvetal |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Нашел очень замечательную статью по сравнению производительности технологий разбора xml-файлов:
http://javagu.ru/portal/dt?last=false&...U_SECTION_80704 На этом же сайте есть масса других интерестных статей по xml и java |
|||
|
||||
| 3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
tux, правильно говорит, сравнивать их нельзя, DOM и JAXB гораздо удобней, но они записывают документ целиком в память, SAX конечно по шустрее, но если написанный тобой код сведётся к тому, что ты ручками через SAX бужешь делать тоже что делает DOM, быстрее чем DOM у тебя не получиться.
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
SAX не быстрее JAXB. JAXB для того и придуман: для работы как-бы с DOM но со скоростью SAX. Но конечно тут еще многое зависит от того какую имплементацию использовать. Я лично всегда, если возможно, выбираю JAXB ибо просто, удобно и JAXB2 уже весьма вылезанная библиотека, не что первые версии... как вспомню, так вздрогну.
|
|||
|
||||
| 3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
На сколько я помню JAXB так же как и DOM подгружает документ в память целиком, что есть очень большое ограничение.
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |