using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Globalization;
///
/// 操作XML文件
///
public class UserInfoTable : IDisposable
{
///
/// XML文件路径
///
private static string strXmlFile = "~/App_Data/UserInfo.xml";
///
/// DataSet对象
///
private DataSet dataset = null;
///
/// XML文件相对路径
///
private string strFilePath = null;
///
/// 构造函数
///
public UserInfoTable()
{
// 实例化DataSet
dataset = new DataSet();
// 不依赖于区域性
dataset.Locale = CultureInfo.InvariantCulture;
// 取得XML文件虚拟路径
strFilePath = HttpContext.Current.Server.MapPath(strXmlFile);
// 读取XML文件
dataset.ReadXml(strFilePath);
}
///
/// 资源释放
///
public void Dispose()
{
// 关闭DataSet
dataset.Dispose();
GC.SuppressFinalize(this);
}
///
/// 检索数据
///
/// DataSet对象
public DataSet GetDataSet()
{
// 返回DataSet对象
return dataset;
}
///
/// 更新数据
///
/// Id
/// Name
/// 更新是否成功
public void UpdateDataSet(int Id, string Name)
{
try
{
// 选择节点条件
string strFilter = "Id=" + Id.ToString(CultureInfo.InvariantCulture);
// 记录取得的行的集合
DataRow[] rows = dataset.Tables[0].Select(strFilter);
// 如果取到记录
if (rows.Length > 0)
{
// 更新数据
rows[0]["Name"] = Name;
// 保存数据
Save();
}
}
catch (Exception)
{
}
}
///
/// 删除一条数据
///
/// ID
/// 是否删除成功
public void DeleteDataSet(int Id)
{
try
{
// 选择节点条件
string strFilter = "Id=" + Id.ToString(CultureInfo.InvariantCulture);
// 记录取得的行的集合
DataRow[] rows = dataset.Tables[0].Select(strFilter);
// 如果取到记录
if (rows.Length > 0)
{
// 删除数据
rows[0].Delete();
// 保存数据
Save();
}
}
catch (Exception)
{
}
}
///
/// 插入数据
///
/// 姓名
/// 是否插入成功
public void InsertDataSet(int Id, string Name)
{
DataRow row = dataset.Tables[0].NewRow();
row["Id"] = Id;
row["Name"] = Name;
dataset.Tables[0].Rows.Add(row);
Save();
}
///
/// 保存XML文档
///
private void Save()
{
// 写入XML文档
dataset.WriteXml(strFilePath, XmlWriteMode.IgnoreSchema);
}
}
-------------------------------------------------------------------------
Default.aspx
无标题页InsertMethod="InsertDataSet" SelectMethod="GetDataSet" TypeName="UserInfoTable"
UpdateMethod="UpdateDataSet">
Height="81px" Width="125px" AllowPaging="True">