private string fileName = HttpContext.Current.Server.MapPath("~/Student.xml");

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetAllStudent();
}
}

private void GetAllStudent()
{
ddlStudent.Items.Clear();
XmlDocument doc = new XmlDocument();
doc.Load(fileName);

XmlNodeList nodes = doc.GetElementsByTagName("Name");
foreach (XmlElement xml in nodes)
{
ddlStudent.Items.Add(xml.InnerText);
}

}

protected void btnName_Click(object sender, EventArgs e)
{
SelStudent();

}

private void SelStudent()
{
XmlDocument doc = new XmlDocument();
doc.Load(fileName);

string name = ddlStudent.Text;

XmlNode node = doc.SelectSingleNode("//Student[Name='" + name + "']");

if (node != null)
{
this.txtNo.Text = node.Attributes["ID"].Value;
this.txtName.Text = node.ChildNodes[0].InnerText;
this.txtAge.Text = node.ChildNodes[2].InnerText;
this.txtSex.Text = node.ChildNodes[1].InnerText;
}
}

protected void btnAdd_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(fileName);

XmlNode node = doc.DocumentElement;

XmlElement stu = doc.CreateElement("Student");

XmlAttribute stuId = doc.CreateAttribute("ID");
stuId.InnerText = txtNo.Text;
stu.Attributes.Append(stuId);

XmlElement stuName = doc.CreateElement("Name");
stuName.InnerText = txtName.Text;
stu.AppendChild(stuName);

XmlElement stuAge = doc.CreateElement("Age");
stuAge.InnerText = txtAge.Text;
stu.AppendChild(stuAge);

XmlElement stuSex = doc.CreateElement("Sex");
stuSex.InnerText = txtSex.Text;
stu.AppendChild(stuSex);
node.AppendChild(stu);

ScriptManager.RegisterStartupScript(btnAdd, this.GetType(), "del", "alert('添加成功')", true);
doc.Save(fileName);
GetAllStudent();
}
protected void btnUp_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();

doc.Load(fileName);

string name = ddlStudent.Text;

XmlNode stu = doc.SelectSingleNode("//Student[Name='" + name + "']");
if (stu != null)
{
stu.Attributes["ID"].InnerText = txtNo.Text;
stu.ChildNodes[0].InnerText = txtName.Text;
stu.ChildNodes[1].InnerText = txtAge.Text;
stu.ChildNodes[2].InnerText = txtSex.Text;

ScriptManager.RegisterStartupScript(btnUp, this.GetType(), "del", "alert('更新成功')", true);
}
doc.Save(fileName);
GetAllStudent();
}
protected void btnDel_Click(object sender, EventArgs e)
{

XmlDocument doc = new XmlDocument();

doc.Load(fileName);

XmlNode node = doc.DocumentElement;

string name = ddlStudent.Text;

XmlNode stu = doc.SelectSingleNode("//Student[Name='" + name + "']");
if (stu != null)
{
node.RemoveChild(stu);

ScriptManager.RegisterStartupScript(btnDel, this.GetType(), "del", "alert('删除成功')", true);

}
doc.Save(fileName);

GetAllStudent();
}
protected void btnAllStudent_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds.ReadXml(fileName);
lblTable.Text = ds.Tables[0].TableName;
this.grdStudent.DataSource = ds.Tables[0];
this.grdStudent.DataBind();

}

protected void btnInsertRow_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds.ReadXml(fileName);
DataTable dt = ds.Tables[0];
DataRow rs = dt.NewRow();
rs["ID"] = this.txtNo.Text;
rs["Name"] = this.txtName.Text;
rs["Age"] = this.txtAge.Text;
rs["Sex"] = this.txtSex.Text;
dt.Rows.Add(rs);

ds.WriteXml(fileName);
ScriptManager.RegisterStartupScript(btnInsertRow, GetType(), "insert", "alert('插入成功')", true);

GetAllStudent();
}

XML读写的更多相关文章

  1. 【Python】Python XML 读写

    class ACTIVE_FILE_PROTECT_RULE_VIEW(APIView): renderer_classes = (JSONRenderer, BrowsableAPIRenderer ...

  2. XML读写工具

    import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import j ...

  3. C# XML读写实例

    一.使用System.Xml 实例:完成如下格式配置文件的读写操作: <?xml version="1.0" encoding="UTF-8"?> ...

  4. 网站的配置文件XML读写

    网站的配置信息一般都写入到XML中,以下是简单的对xml的读写操作,仅供参考. 读操作: XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettin ...

  5. UE4 Xml读写

    UE4自带一个XmlParser,可以很方便的实现Xml的读写. 1,在PublicDependencyModuleNames.AddRange中添加XmlParser. 2,include XmlP ...

  6. 评论模块Demo(XML读写,定时器。)

    这个Demo主要是自己做练习熟悉jquery,ajax,与xml文件的读写,以下是实现页面效果: 后台控制器: public ActionResult AddMsg() { XmlDocument x ...

  7. Python之xml读写

    遇到问题xml文件读写,没有子节点需要新建ChildNode. # -*- coding: utf-8 -*- import os import shutil import xml.dom.minid ...

  8. php XML 读写 创建

    一 .XML 读 1.1. 首先同目录定义好一个XML文件 : book.xml <?xml version="1.0" encoding="utf-8" ...

  9. xml读写文件实例

    在某个通讯中需要向服务器发送请求xml,格式例子如下: <?xml version="1.0" encoding="UTF-8"?> <ROO ...

随机推荐

  1. 为自己的Android应用添加广告

    平时也写了不少Android小应用,但是都是做练习之用,从来没有想过添加广告赚钱这一说. 个人是非常反感在应用内添加广告这种行为的,非常影响用户体验,不小心点到广告的话,手机流量哗哗地就没了··· 但 ...

  2. hdu5322 Hope(dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Hope Time Limit: 10000/5000 MS (Java/Othe ...

  3. 不用派生CTreeCtrl不用繁琐的过程 教你如何让CTreeCtrl的每一项有ToolTip提示

    最近工作中需要让CTreeCtrl控件的每一项都有提示信息,于是谷歌百度,爬山涉水,结果是………….在CodeProject里找到一篇文章是把CTreeCtrl派生出新类,重载一些函数自定义内容.使用 ...

  4. php统计文件夹大小

    function dirsize($dir){ @$dh = opendir($dir); $size = 0; while($file = @readdir($dh)){ if($file!=&qu ...

  5. Python入门学习之input()与raw_input()的区别

    登陆博客时才发现已经注册一年了,由于之前一直都没有打算从事软件开发行业,所以博客便被束之高阁,软件开发,对于我来说,是成长,更是磨炼.头脑风暴总是来去自由,记录灵感,与大家一起共享思维进步的成果. P ...

  6. Python正则匹配字母大小写不敏感在读xml中的应用

    需要解决的问题:要匹配字符串,字符串中字母的大小写不确定,如何匹配? 问题出现之前是使用字符串比较的方式,比如要匹配'abc',则用语句: if s == 'abc':#s为需要匹配的字符串 prin ...

  7. 序列!序列!- 零基础入门学习Python016

    序列!序列! 让编程改变世界 Change the world by program 你可能发现了,小甲鱼把列表.元组和字符串放在一块儿来讲解是有道理的,我们发现Ta们之间有很多共同点: 1. 都可以 ...

  8. libevent使用之安装(一)

    1.下载安装包,在官网http://www.monkey.org/~provos/libevent/下载 2.解压 运行命令: tar zxvf libevent-2.0.10-stable.tar. ...

  9. SIEM

    http://en.wikipedia.org/wiki/Security_information_and_event_management http://en.wikipedia.org/wiki/ ...

  10. C51函数的递归调用

    前几天在写C51程序时用到了递归,简单程序如下: void WRITE_ADD(uchar addr,uchar wbyte) { START(); //先发送起始信号 WRITE_BYTE(0xa0 ...