Главная страница
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.009 c
14-315
ao1973
2002-02-20 15:37
2002.04.01
WIndows Ce


3-69
Huliganka
2002-03-06 21:27
2002.04.01
Delphi & MS SQL server


6-257
Fred
2002-01-19 03:04
2002.04.01
Как получить подтверждение доставки письма?


3-41
iea
2002-03-07 12:20
2002.04.01
Teкущее значение записи в ADO?


1-82
boa
2002-03-19 06:54
2002.04.01
Как сделать, чтобы курсор постоянно отображался в TEdit, TMemo