利用 DataSet 原生支援 XML Schema 與資料的特性,建立零資料庫相依的留言板。資料儲存於 App_Data/guest.xml,適合虛擬主機或無資料庫環境部署。
Repeater 控制項顯示string dataFile = "~/App_Data/guest.xml";
FileStream fin = new FileStream(Server.MapPath(dataFile), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
DataSet ds = new DataSet();
ds.ReadXmlSchema(fin);
fin.Close();
DataRow row = ds.Tables[0].NewRow();
row["Name"] = Name.Text;
row["Country"] = Country.Text;
row["Email"] = Email.Text;
row["Comments"] = Comments.Text;
row["DateTime"] = DateTime.Now.ToString();
ds.Tables[0].Rows.Add(row);
FileStream fout = new FileStream(Server.MapPath(dataFile), FileMode.Open, FileAccess.Write, FileShare.ReadWrite);
ds.WriteXml(fout, XmlWriteMode.WriteSchema);
fout.Close();
App_Data 目錄有寫入權限