我想在某種數據庫中保存一些細節。 我認爲使用像訪問或MySQL數據庫將是一個矯枉過正。
因此,我一直計劃使用XML文件作爲數據庫。
我的想法是在某種結構來創建一個XML文件,如:在xml文件中管理數據庫
<DB>
<Player>John</Player>
<Money>50</Money>
<Player>James</Player>
<Money>10</Money>
</DB>
然後,這個數據加載到某種類型的集合,有管理它,並覆蓋XML文件。
有沒有更好的方法來實現我想要做的?我認爲我太複雜了。
編輯: 我添加了序列化數據並保存方法:
public static DB LoadFromFile(string path)
{
FileStream fs = null;
DB db = null;
try
{
fs = File.Open(path, FileMode.Open);
var serializer = new XmlSerializer(typeof(DB));
db = (DB)serializer.Deserialize(fs);
}
catch
{
}
if (fs != null)
{
fs.Close();
}
return db;
}
public static void SaveToFile(string path, object objData)
{
var fs = File.Open(path, FileMode.Create);
var serializer = new XmlSerializer(objData.GetType());
try
{
serializer.Serialize(fs, objData);
}
catch
{
}
fs.Close();
}
當我試圖LoadFromFile的SaveToFile被稱爲後我得到: +的InnerException {」是出乎意料的。「} {System.Exception的} System.InvalidOperationException
您可能會考慮序列化。您可以創建類,爲它們設置屬性,然後將它們序列化爲xml並將它們寫入文件。反之亦然...讀取一個文件,將xml反序列化爲新的類,然後就可以開始了。查看:http://support2.microsoft.com/kb/815813 – 2014-10-10 23:59:47
每當我看到一個應用程序,開發人員說「數據庫會過度殺傷,我只是使用文件」(或其他一些方法) ,開發者已經後悔了! – DavidG 2014-10-11 00:12:28
你也可以使用'DataSet'。有'ReadXml'和'WriteXml'函數可以用來寫入和讀取文件。這可能會使將來更容易遷移到數據庫。您可以定義主鍵和關係。您還可以處理添加,更改和刪除的事件。還有很多其他功能可用,無需數據庫。 http://msdn.microsoft.com/en-us/library/system.data.dataset(v=vs.110).aspx,但如果沒有任何功能對您有用,不妨使用'XmlSerializer'。 – 2014-10-11 00:20:15