Я пытаюсь написать xml в файл usng XDocument. Раньше я писал текстовый файл с использованием FileStream, и он работал быстро.Есть ли способ сделать XDocument Сохранить быстрее
Используя Profiler, я обнаружил, что XDcoument.Save занимает около 90% времени, особенно когда я пишу большой текст в узле xml.
XDocument xDocument = XDocument.Load(FilePath);
XElement root = xDocument.Element("logs");
root.Add(
new XElement(
"log",
new XElement(
"dt",
DateTime.Now.ToString("MMM dd, yyyy")),
new XElement(
"tm",
DateTime.Now.ToString("HH:mm:ss.fff")),
new XElement(
"st",
ConvertStackTrace(stackList)
//stackInfo
),
new XElement(
"t",
topic),
new XElement(
"d",
description),
new XElement(
"cu",
custom)));
xDocument.Save(FilePath);
Есть ли другой способ написать xml в файл быстрее этого. Обратите внимание, что файл составляет около 1 МБ, и каждый раз, когда он открывает файл и добавляет к нему узел.
Файл журнала будет продолжать увеличиваться, возможно, забываться и замедлять программу со временем. Я предлагаю открыть другой файл журнала на основе даты, ака 'StackLog20151017.xml' за 17 октября 2015 года. Если он написан много, то сделайте это также почасовым. Меньшие размеры будут экономить быстрее. –
Да, я делаю это и имею возможность создавать новый файл на основе даты или размера файла. Проблема все еще остается. – Samuel