我有一個創建一個基本的XML文件,並保存一個簡單的C#功能:XmlDocument的保存保持文件打開
private void CreateXMlFile(string Filename, string Name, string Company)
{
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docNode);
XmlNode licenseNode = doc.CreateElement("license");
doc.AppendChild(licenseNode);
XmlNode node = doc.CreateElement("Name");
node.AppendChild(doc.CreateTextNode(Name));
licenseNode.AppendChild(node);
node = doc.CreateElement("Company");
node.AppendChild(doc.CreateTextNode(Company));
licenseNode.AppendChild(node);
doc.Save(Filename);
}
當我嘗試編輯或刪除的文件我總是得到以下錯誤:
The process cannot access the file because it is being used by another process.
XmlDocument沒有任何內置的配置或關閉例程,並想知道如何在稍後編輯或刪除它之前強制關閉文件。
我曾嘗試使用的StreamWriter來保存文件:
StreamWriter outStream = System.IO.File.CreateText(outfile);
outStream.Write(data);
outStream.Close();
但這didnt使具有相同錯誤的差異。
您的建議很受歡迎。
謝謝
您是否試圖用流寫入的實例編寫而不是傳遞文件名來保存? – Steve 2012-02-17 11:01:12
我有同樣的問題,但我的代碼首先加載XML,如果它存在。在釋放文件鎖定之前,需要關閉「XmlReader」對象。 – 2015-04-21 06:59:01