用.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 Button1_Click(object sender, EventArgs e)
...{
DataSet ds = (DataSet)Session["ds"];
string name = this.TextBox1.Text.ToString();
string age = this.TextBox2.Text.ToString();
string sex = this.TextBox3.Text.ToString();
string relation = this.RadioButtonList1.SelectedValue.ToString();
DataRow dr = ds.Tables[0].NewRow();
dr["relation"] = relation;
dr["age"] = age;
dr["sex"] = sex;
dr["name"] = name;
ds.Tables[0].Rows.Add(dr);
Session["ds"] = ds;
ds.WriteXml(Server.MapPath("../people.xml"));
bind();
}删除:
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();
}
修改:
本文介绍如何在ASP.NET应用程序中使用XML作为数据源,包括读取XML文件到DataSet,以及如何通过添加、删除和修改操作来更新XML数据。
1万+

被折叠的 条评论
为什么被折叠?



