近来在网上看见一个xml操作类.....呵呵,挺好,
各位看看,希望能对想了解xml的人有所帮助..
呵呵.....
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;
/**/ /// <summary>
/// 操作XML文件
/// </summary>
public class UserInfoTable : IDisposable
... {
/**//// <summary>
/// XML文件路径
/// </summary>
private static string strXmlFile = "~/App_Data/UserInfo.xml";
/**//// <summary>
/// DataSet对象
/// </summary>
private DataSet dataset = null;
/**//// <summary>
/// XML文件相对路径
/// </summary>
private string strFilePath = null;
/**//// <summary>
/// 构造函数
/// </summary>
public UserInfoTable()
...{
// 实例化DataSet
dataset = new DataSet();
// 不依赖于区域性
dataset.Locale = CultureInfo.InvariantCulture;
// 取得XML文件虚拟路径
strFilePath = HttpContext.Current.Server.MapPath(strXmlFile);
// 读取XML文件
dataset.ReadXml(strFilePath);
}
/**//// <summary>
/// 资源释放
/// </summary>
public void Dispose()
...{
// 关闭DataSet
dataset.Dispose();
GC.SuppressFinalize(this);
}
/**//// <summary>
/// 检索数据
/// </summary>
/// <returns>DataSet对象</returns>
public DataSet GetDataSet()
...{
// 返回DataSet对象
return dataset;
}
/**//// <summary>
/// 更新数据
/// </summary>
/// <param name="nID">Id</param>
/// <param name="strName">Name</param>
/// <returns>更新是否成功</returns>
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)
...{
}
}
/**//// <summary>
/// 删除一条数据
/// </summary>
/// <param name="nID">ID</param>
/// <returns>是否删除成功</returns>
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)
...{
}
}
/**//// <summary>
/// 插入数据
/// </summary>
/// <param name="strName">姓名</param>
/// <returns>是否插入成功</returns>
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();
}
/**//// <summary>
/// 保存XML文档
/// </summary>
private void Save()
...{
// 写入XML文档
dataset.WriteXml(strFilePath, XmlWriteMode.IgnoreSchema);
}
}
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;
/**/ /// <summary>
/// 操作XML文件
/// </summary>
public class UserInfoTable : IDisposable
... {
/**//// <summary>
/// XML文件路径
/// </summary>
private static string strXmlFile = "~/App_Data/UserInfo.xml";
/**//// <summary>
/// DataSet对象
/// </summary>
private DataSet dataset = null;
/**//// <summary>
/// XML文件相对路径
/// </summary>
private string strFilePath = null;
/**//// <summary>
/// 构造函数
/// </summary>
public UserInfoTable()
...{
// 实例化DataSet
dataset = new DataSet();
// 不依赖于区域性
dataset.Locale = CultureInfo.InvariantCulture;
// 取得XML文件虚拟路径
strFilePath = HttpContext.Current.Server.MapPath(strXmlFile);
// 读取XML文件
dataset.ReadXml(strFilePath);
}
/**//// <summary>
/// 资源释放
/// </summary>
public void Dispose()
...{
// 关闭DataSet
dataset.Dispose();
GC.SuppressFinalize(this);
}
/**//// <summary>
/// 检索数据
/// </summary>
/// <returns>DataSet对象</returns>
public DataSet GetDataSet()
...{
// 返回DataSet对象
return dataset;
}
/**//// <summary>
/// 更新数据
/// </summary>
/// <param name="nID">Id</param>
/// <param name="strName">Name</param>
/// <returns>更新是否成功</returns>
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)
...{
}
}
/**//// <summary>
/// 删除一条数据
/// </summary>
/// <param name="nID">ID</param>
/// <returns>是否删除成功</returns>
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)
...{
}
}
/**//// <summary>
/// 插入数据
/// </summary>
/// <param name="strName">姓名</param>
/// <returns>是否插入成功</returns>
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();
}
/**//// <summary>
/// 保存XML文档
/// </summary>
private void Save()
...{
// 写入XML文档
dataset.WriteXml(strFilePath, XmlWriteMode.IgnoreSchema);
}
}