Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-318
lel (A)
2002-02-15 14:41
2002.04.01
Почему, в любом обществе, всегда существует класс недовольных.??? 8(((((


1-118
lipskiy
2002-03-20 21:46
2002.04.01
TThread: Как создать свой объект-сигнализатор?


1-133
Vampire
2002-03-21 20:43
2002.04.01
Поверх всех окон и не только


1-80
GenBr
2002-03-18 13:22
2002.04.01
Меню


1-197
tovSuhov
2002-03-19 18:03
2002.04.01
Неактивная форма...




   Наверх