簡體   English   中英

在C#中出現異常的情況下如何回滾XML文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM