![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
hotspring |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 14.3.2007 Репутация: нет Всего: нет |
Здравствуйте.
Есть xml файл, который является результатом эксперимента. Суть задачи состоит в том, что нужно разобрать его, удалить некоторое количество блоков и сохранить. Файл имеет размеры от пяти до десяти мегабайт. Использовать нужно встроенный в sdk парсер. Так как я в первый раз столкнулась с xml, то соответсвенно у меня куча проблем и вопросов. Поместить в list все ID в принципе не трудно, но как поместить все в data, т.е. ключ это ID, а значение это массив param? Помещать все в память я решила потому, что если хранить в файле, то удаление будет очень и очень медленным. Хотя может я и ошибаюсь? Как сохранить потом data в xml? И вопросы, который как то я не поняла: Что лутше приработе с большим документом SAX или DOM? Зачем нужен DTD, что он дает?
|
||||
|
|||||
JUncle |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 6.4.2006 Где: Казань, РФ Репутация: нет Всего: 1 |
Пожалуй отвечу только на эти: 1. Вероятно SAX. DOM создает полное дерево элементов. Соответственно будет тербовать очень много памяти при таком объеме файла. 2. Document Type Definition - язык описания структуры XML документа. Позволяет проверить корректность XML документа. В настоящее время вытесняется стандартом XML Schema. --------------------
class JUncle extends Man // singleton{/*...*/} |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Все зависит от того, какой именно анализ требуется для данных. Если для него требуется держать все данные в памяти, то можно и DOM использовать, если удобно.
А если для анализа не требуется, чтобы все данные присутсвовали в памяти, то можно в памяти вообще ничего не держать, а генерировать выходной XML прямо в DefaultHandler-е (Генерация XML с помощью SAXTransformerFactory). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
hotspring |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 14.3.2007 Репутация: нет Всего: нет |
А каков механизм работы парсера с использованием DTD? Ошибки в структуре и в ходе парсинга видны.
Осталось: Поместить в list все IDи поместить все в data, т.е. ключ это ID, а значение это массив param? |
|||
|
||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Они видны тебе, и то если ты встроишь специальную проверку (например, проверить что внутри тега analysis обязательно первым идет тег test). А тут за тебя это делает парсер.
Можно и так, все зависит от того, что тебе нужно. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
hotspring |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 14.3.2007 Репутация: нет Всего: нет |
А как поместить все в data?
У меня что-то не выходит |
|||
|
||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |