用.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();
}
修改: