[英]How to roll back XML file in case of exception in c#
我正在C#中創建XML文件並在其中寫入數據。 但萬一發生例外情況,文件應回滾。 但是在例外情況下,文件的格式和數據不完整。 我只希望異常生成時不應該生成文件。 我正在使用下面的代碼來生成文件
using (XmlWriter writer = XmlWriter.Create(strFileName))
{
writer.WriteStartElement("Head");//Start Head
writer.WriteElementString("Date", dtm.ToString("yyyy-MM-dd hh:mm:ss.fff"));
writer.WriteEndElement();//End Head
writer.Flush();
}
最簡單的方法是將整個文檔從內存中開始構建,然后僅在最后寫入。 這幾乎肯定會導致更簡單的代碼,甚至將事情的“不要寫無效日期”放在一邊。 唯一的缺點是,如果您想先編寫一個不想在內存中存儲的巨大文件。
我個人建議使用LINQ to XML-並將其轉換用於其他類型,因此您可以使用:
element.Add(new XElement("Date", dtm));
...將使用正確的 XML日期/時間格式,而不是您當前使用的格式(使用hh
而不是HH
;有關類似的常見錯誤的更多信息,請參閱我的博客文章中的日期/時間文本轉換 )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.