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. Objective-C中的单例模式(工具类)

    单例是iOS开发中经常会用到的一种设计模式,顾名思义,即创建一个类,该类在整个程序的生命周期中只有一个实例对象,无论是通过new,alloc init,copy等方法创建,或者创建多少个对象,自始至终 ...

  2. BZOJ 3926 && ZJOI 2015 诸神眷顾的幻想乡 (广义后缀自动机)

    3926: [Zjoi2015]诸神眷顾的幻想乡 Time Limit: 10 Sec Memory Limit: 512 MB Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽 ...

  3. hdu 畅通工程续

    算法:多源最短路(floyd) 题意:有多个城镇,有些之间有通路,给你起点和终点,输出最短路径: Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路 ...

  4. 初识CLR

    眨眼间我已经实习了半年时间并且转正了,身份也正式从一个学生转变为一个职场人,这个博客自从开始实习以来就一直没有更新过= =没错,就是我懒癌晚期,不过不行!一切都要开始走向正轨,此博会继续见证我的成长, ...

  5. 【0】Laravel 5.1 简介

    1.简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以 ...

  6. 02—从Cocos2DX视角看游戏组成

    Cocos2DX引擎按照层次逻辑将游戏元素细分为:导演CCDirector.场景CCScene.图层CCLayer.精灵CCSprite.在上面篇中我们已经知道除导演CCDirector外都继承了CC ...

  7. 爬虫框架YayCrawler

    爬虫框架YayCrawler 各位好!从今天起,我将用几个篇幅的文字向大家介绍一下我的一个开源作品——YayCrawler,其在GitHub上的网址是:https://github.com/liush ...

  8. Java学习笔记--Swing用户界面组件

    很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel lab ...

  9. tomcat server.xml 配置示例

    规划:     网站网页目录:/web/www      域名:www.test1.com     论坛网页目录:/web/bbs     URL:bbs.test1.com/bbs     网站管理 ...

  10. 完美解决ListView 与 ScrollView 共存问题

    1:首先设置ListView的高度,在setAdapter之后调用此方法. public static void setListViewHeightBasedOnChildren(ListView l ...