2011-03-23 62 views
4

存在一個問題,其中XML Document.Save導致進程無法訪問該文件的錯誤,因爲它正在被另一個進程或語句一個無效的XML文檔。我認爲這是因爲在操作完成後我不會處理XML文檔對象。是否可以執行此操作。是否有解決方法?如何在ASP.NET中處理或關閉XML文檔的實例

+0

如何你現在訪問它,你可以張貼代碼 – V4Vendetta 2011-03-23 08:56:34

+0

你必須張貼一些代碼,使人們可以獲取有關的一些想法。 – 2011-03-23 08:56:52

回答

4

這取決於您正在使用的方法的哪種超載。如果你直接傳遞一個文件名作爲字符串,不應該有問題。如果你傳遞一個流或XmlWriter的,你需要確保它被妥善處置:

using (Stream stream = ...) 
{ 
    doc.Save(stream); 
} 
+0

看來,我有一個問題,也許你能告訴我它是什麼: 使用(XmlWriter的XW = XmlWriter.Create(新的FileStream(this.FilePath,FileMode.Create),xwSettings)) \t \t \t { \t \t \t \t XmlDocument.WriteTo(xw); \t \t \t} 此代碼似乎不起作用,因爲如果我嘗試直接加載相同的文件後,我得到異常「已被使用」 – SharpNoiZy 2016-02-24 10:09:11

3

XmlDocument以及更新的XDocument是XML文檔的內存中表示,因此您無需關閉它們。

也許您正在使用底層的Stream或類似文件來閱讀文檔,那是什麼需要關閉?沒有更多的背景,幾乎不可能回答。