用.NET可以方便的操作XML,当做数据源
*当XML转到DataSet的时候会遵循如下几个原则
*具有属性的元素和具有自节点的元素会变成表
*重复的元素会变成列
这里使用GridView绑定
XML:
<?xml version="1.0" standalone="yes"?>
<family>
<p relation="myfather">
<name>安</name>
<sex>man</sex>
<age>60</age>
</p>
<p relation="mymather">
<name>宝</name>
<sex>women</sex>
<age>55</age>
</p>
</family>
<family>
<p relation="myfather">
<name>安</name>
<sex>man</sex>
<age>60</age>
</p>
<p relation="mymather">
<name>宝</name>
<sex>women</sex>
<age>55</age>
</p>
</family>
protected void Page_Load(object sender, EventArgs e)
{
bind();
}
protected void bind()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("../people.xml"));
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
Session["ds"] = ds;
}
{
bind();
}
protected void bind()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("../people.xml"));
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
Session["ds"] = ds;
}






















删除:
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
DataSet ds = (DataSet)Session["ds"];
ds.Tables[0].Rows.Remove(ds.Tables[0].Rows[e.RowIndex]);
Session["ds"] = ds;
ds.WriteXml(Server.MapPath("../people.xml"));
bind();
}
{
DataSet ds = (DataSet)Session["ds"];
ds.Tables[0].Rows.Remove(ds.Tables[0].Rows[e.RowIndex]);
Session["ds"] = ds;
ds.WriteXml(Server.MapPath("../people.xml"));
bind();
}
修改: