Следующая строка иногда развращает файл xml и создает нулевой размер xml, когда выбрано OutOfMemoryException. Как предотвратить повреждение файлов?Предотвращение искажения файлов при сохранении xml-файла
xmlDoc.Save(filename)
Save-Exception типа 'System.OutOfMemoryException' был брошен. Сохранить в System.IO.FileStream.Write (байт [] массив, смещение Int32, Int32 count) в System.IO.StreamWriter.Flush (Boolean flushStream, Boolean flushEncoder) в System.IO.StreamWriter.Write (Char значение) при System.Xml.XmlTextWriter.Indent (Boolean beforeEndElement) при System.Xml.XmlTextWriter.AutoComplete (маркер маркера) в System.Xml.XmlTextWriter.WriteStartElement (префикс String, String LocalName, String нс) при System.Xml.XmlDOMTextWriter.WriteStartElement (Строка префикса, строка LocalName, String нс) при System.Xml.XmlElement.WriteTo (XmlWriter ш) в System.Xml.XmlElement.WriteContentTo (XmlWriter Вт) при System.Xml.XmlElement .WriteTo (XmlWriter w) в System.Xml.XmlDocument.WriteContentTo (XmlWriter XW) в System.Xml.XmlDocument.WriteTo (XmlWriter ш) в System.Xml.XmlDocument.Save (String имя файла) в MainOptions.Save (Строка файла, параметры ItemOptions)
Это зависит от целого ряда факторов, таких как размер документа, который вы попытка сохранить или имеет ли он ошибки или нет. Мы не можем сказать вам, основываясь на том, что вы нам показали. Вам нужно будет показать нам код и XML, которые вы пытаетесь сохранить. –
Файл не такой большой 5Kb и часто сохраняется из-за обновлений опций элементов; ошибка с отдельными обновлениями не приведет к повреждению файла; только ошибка во время сохранения сделает это – walter
Что вы хотите предотвратить, перезаписать предыдущую копию или ошибку? – Matten