| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: ActiveX/СОМ/CORBA > Быстрое чтение XML |
| Автор: Coder 9.6.2010, 08:04 | ||
Всем привет. использую стандартный шаблон для чтения XML библиотекой от MS.
В файле около 30000 узлов. Моя программа должна загружать данные из XML в свою память, для этого нужно сначала узнать число узлов для выделения памяти. Свойство ChildNodes.Count считает кол-во узлов в моем примере очень долго. Если даже его не вызывать, а читать все, пока не кончится файл, то он так же разбирается медленно. Видимо при вызове Count данные кешируются... Подскажите, как быстро разобрать XML? |
| Автор: cemick 9.6.2010, 08:34 |
| XMLDocument впринципе не быстр, как совет можете попробовать использовать jclSimpleXML. В задаче чтения XML всегда присутствует вопрос производительности, если у вас так много узлов, может вам стоит пересмотреть структуру хранения на более простую? |
| Автор: Coder 9.6.2010, 08:42 | ||
Я читаю файл формата GPX, поэтому структуру менять не могу. Знаю пример приложения, которое так же использует XMLDocument и читает данный файл за пару секунд! Правда написано оно на С++ и "внутренности" не доступны. Вот я и подумал, может есть какие-то скрытые приемы по работе с MS XML ? jclSimpleXML сейчас глянем... |