разбор xml файлов больших размеров

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

разбор xml файлов больших размеров

Сообщение AlexeySurgut » 07.12.2012 22:13:49

Lazarus 1.0.2
FPC 2.6.0

Подскажите плиз, может кто сталкивался, как можно разбирать большие файлы XML (до нескольких Гигов) для конвертации в БД.
Последний раз редактировалось AlexeySurgut 07.12.2012 23:08:02, всего редактировалось 1 раз.
AlexeySurgut
незнакомец
 
Сообщения: 2
Зарегистрирован: 19.12.2011 17:37:30

Re: разбор xml файлов больших размеров

Сообщение Vapaamies » 07.12.2012 22:53:03

SAX-ом. Когда-то давным-давно пользовали порт SAX на Delphi.
Аватара пользователя
Vapaamies
постоялец
 
Сообщения: 292
Зарегистрирован: 24.07.2012 22:37:59
Откуда: Санкт-Петербург

Re: разбор xml файлов больших размеров

Сообщение AlexeySurgut » 07.12.2012 23:17:38

А есть ли реализация SAX-парсера в FPC? Если есть подскажите имя модуля пж-та. А то поиск по справке и по инету результатов не дал...

Добавлено спустя 2 часа 52 минуты 24 секунды:
Спасибо Vapaamies за указание направления.
Нашел в FPC модуль SAX. При использовании непременно выдает исключение EDOMError.
Подразобравшись с этим безнадежным делом выяснилось следующее: ошибка происходит при первом же вызове TDOMDocument.CreateElement(tagName:string). В качестве tagName передается строка '?xml'. Как я понял, при проверке правильности имени данного тага функцией IsXMLName(...) из модуля xmlutils и генерируется исключение... :( :x
Актуальность в рабочем модуле SAX остается... Может есть у кого какие идеи или рабочие модули SAX?
AlexeySurgut
незнакомец
 
Сообщения: 2
Зарегистрирован: 19.12.2011 17:37:30

Re: разбор xml файлов больших размеров

Сообщение Vapaamies » 08.12.2012 05:03:16

Нашел у себя в архивах тот самый SAX, который использовали в 2004-м году, и он оказался аналогичен выложенному на SourceForge, но на SourceForge сейчас вроде новее. Новый не собирал. Старый в 2004-м нормально собирался и ставился в Delphi 6. Могу выложить исходники.

Добавлено спустя 2 минуты 46 секунд:
Да, забыл добавить: мы пользовались native-парсером, а не MS XML, чтобы не иметь зависимостей.
Аватара пользователя
Vapaamies
постоялец
 
Сообщения: 292
Зарегистрирован: 24.07.2012 22:37:59
Откуда: Санкт-Петербург

Re: разбор xml файлов больших размеров

Сообщение andrewks » 16.12.2012 00:11:48

AlexeySurgut, тэг не может иметь имя '?xml', символы типа ? в имени тэга не допускаются
andrewks
новенький
 
Сообщения: 10
Зарегистрирован: 18.10.2012 23:37:43

Re: разбор xml файлов больших размеров

Сообщение PapaNT » 17.12.2012 10:31:22

Зная примерную структуру файла, я парсил его своим самопальным парсером в txt. На виртуалке парсинг трех гигов (в два прохода) занял около 5-ти минут на проход.
PapaNT
постоялец
 
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 250

Рейтинг@Mail.ru