我正在爲包含RTD服務器的C#中的Excel開發附加組件。因爲我們還沒有SQL數據庫,所以我必須使用XML文件來存儲數據。使用C#編寫和讀取相同的xml文件(RTD服務器用於excel)
XML文件通過Excel中使用的C#函數進行更新。另一方面,多個用戶必須能夠實時檢索這些數據。
當我運行這兩個函數(更新並讀取XML文件)時,寫入函數隨時崩潰,錯誤file being usee by another process
。
寫功能:
string _dataPath = Path.Combine(xllDir, "Test.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(_dataPath);
XmlNode node = xmlDoc.SelectSingleNode(Data_Type.ToUpper() + "/" + Ticker.ToUpper() + "/" + Data.ToUpper() + "/VALUE");
node.InnerXml = Convert.ToString(Value);
XmlNode node_update = xmlDoc.SelectSingleNode(Data_Type.ToUpper() + "/" + Ticker.ToUpper() + "/" + Data.ToUpper() + "/LAST_UPDATE");
node_update.InnerXml = Convert.ToString((DateTime.Now).TimeOfDay);
xmlDoc.Save(_dataPath);
及讀取功能:
_xml.Load(topic.FileName);
XmlNode node = _xml.SelectSingleNode("//" + topic.Ticker);
topic.Value = node.InnerText;
我看不出如何排序了這一點,所以任何想法會更受歡迎。