Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

XML-файлы большого размера   Найти похожие ветки 

 
Dok_3D ©   (2002-03-19 07:28) [0]

У меня вопрос такой, кто-нибудь пробовал реально работать с большими XML-файлами (свыше 40 Мегабайт) достаточно сложной структуры ?

Допустим, просто рекурсивно пробежаться по всей структуре элементов. Насколько это быстро ?


 
Dok_3D ©   (2002-03-19 13:55) [1]

Ммммда ...


 
Дмитрий ©   (2002-03-19 14:46) [2]

Работал с ~ 3-4 мб, и скорость зависти от парсера. Они бывают (это моя терминология :) - "умные" и "не очень". Умный парсер, типа MSXML, грузит весь документ, проверяет его на велл-формедность, сверяет с DTD, заменяет всякие там сучности, и строит внутреннее дерево. Вот это последнее действие и является критичным :) Начинает жужжать винтом, свопить и т.п. Парсеры "попроще" (Perl XML::Parser) - событийные (встретил token - вызвал обработчик события), к ресурсам не столь требовательны.


 
Dok_3D ©   (2002-03-19 15:55) [3]

Понятно,
я тут вообще-то сам уже эмуляцию огромного файла состроил (40 Мегов).
При помощи msxml4 побегал по нему вперед-назад-вглубь-вширь. Правда без ссылок на DTD или XSD.
Память, конечно, жрет, но навигация в принципе быстрая.



 
alexandervasjuk ©   (2002-03-19 17:04) [4]

Там у него (msxml3 & 4) есть так называемый SAX доступ. Он именно в терминологии Дмитрия делает парсер из умного не очень умного, т.е. событийный. Не столь удобный (события обрабатываешь ты сам), но нересурсоемкий. Детально описан в Help"е.



Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-213
Вася-Х
2002-03-20 11:54
2002.04.01
Импорт из Word


14-294
Fellomena
2002-02-13 15:53
2002.04.01
Помяните меня в своих молитвах - в ближайшее время меня обрекли на Фортран =(


3-67
iPen
2002-03-05 11:01
2002.04.01
Программное свешивание в ячейке DBGrid-а


3-18
andreik
2002-03-06 11:28
2002.04.01
что писать в UpdateSQL?


3-60
ak
2002-03-06 15:41
2002.04.01
Счётчик в DBGrid