Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-91
Yu
2002-03-21 12:06
2002.04.01
Что за ошибка?


14-302
Алексей Петров (M)
2002-02-15 11:56
2002.04.01
2 Merlin: Убери, Please, от меня большую синию (M)


3-33
solsoft
2002-03-06 13:43
2002.04.01
Нет доступа к Access через BDE


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


3-44
kaif
2002-02-28 11:11
2002.04.01
кто знает? Сбой клиента IB.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский