Основной вопрос: каков наилучший способ записи данных из иерархического набора объектов в файл?Родитель высшего порядка имеет 1000 детей с детьми (стиль DOM).Попытка обойти дерево и создать одну большую строку, которая затем записывается в файл, вызывает исключение нехватки памяти при создании строки.
Подробности Я создал набор классов, которые составляют документ HTML .
Был элемент управления, который мне был нужен, чтобы предварительно упакованные HtmlElement
и HtmlDocument
не давали. Объектная модель документа поддерживается повсеместно, с некоторыми похожими методами и свойствами и т. Д.
Я использую пользовательские классы для создания очень большого HTML документа.Когда я говорю «большой», я имею в виду порядка 2000 печатных страниц.Сомнительно, что все они будут напечатаны, но некоторые из них будут.
Мой базовый HTMLElement
объект, из которого получены все другие объекты, содержит свойство OuterHTML
, которое, как и ожидалось, получает полный HTML вызывающего объекта и HTML всех дочерних элементов.
После выполнения кода, который генерирует отчет, у меня есть HTMLDocument объект, содержащий всеотчет, который нужно записать в файл.Здесь я продолжаю сталкиваться с проблемами.
Если я вызову OuterHTML
для объекта HTMLDocument
, я получу исключение из памяти .Другие отчеты хорошо сохранились, но это самый большой отчет, который я бросил в мой HTMLElement
объект.Я предполагаю, что вызов свойства генерирует слишком много текста.
Я просто создаю новый файл .HTML , открываю его для чтения и записываю весь текст.Как:
File.WriteAllText(FileName, HtmlDoc.OuterHTML)
Итак, вопрос: что может быть лучше для этого?