Показать сообщение отдельно
Старый 29.03.2006, 12:06   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Smith
Может можно как-то "на лету" писать в xml-файл, а не ждать пока он полностью сформируется (в оперативке похоже) и потом одним махом запишется на диск конструкцией xmlDocument.save(fileName);
У меня была несколько похожая проблема: при росте размера файла падала производительность. Я решил это так: ввел некий порог, условие на максимальное количество узлов/записей, и каждый раз по достижении порога открывал новый документ. Потом подвергал документы один за другим некоему преобразованию XSL, чтобы скорректировать структуру документа, а затем дописывал в файл строку xmlDocument.xml() средствами Аксапта (класс AsciiIO).

Еще вариант без XSL: работайте с отдельными документами как описано выше, извлекайте текст отдельных "веток" методом XMLNode.xml(), а "конверт" и заголовок XML-файла запрограммируйте вручную. Записывайте результат на диск с помощью AsciiIO.