DataSet 提供 ReadXml/WriteXml 直接與 XML 檔案互轉。
string file = Server.MapPath("db/people.xml");
DataSet ds = new DataSet();
using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
ds.ReadXml(fs);
if (Session["counter"] == null) {
DataRow dr = ds.Tables[0].NewRow();
dr["name"] = "myname"; dr["title"] = "test"; dr["title2"] = "test2";
ds.Tables[0].Rows.Add(dr);
using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Write, FileShare.ReadWrite))
ds.WriteXml(fs, XmlWriteMode.WriteSchema);
Session["counter"] = "Set";
}
XmlWriteMode.WriteSchema 保存結構描述FileShare.ReadWrite 允許多執行緒/進程同時存取