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. 正则去掉html标签

    return System.Text.RegularExpressions.Regex.Replace(HTMLStr, "<[^>]*>", "&qu ...

  2. java 静态文件使用注解

    spring框架为我们代码的编写带来了极大的便利,特别是注解的使用.但是有个问题,当我们在静态文件中使用注解的时候,这个时候就会报错了.如以下代码: @Autowired private UserSe ...

  3. Mahout快速入门教程

    Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单 ...

  4. 2014-06-13 jq chart

    昨天接到上级说要在检测服务器上增加一个可以根据时间来查看服务器信息的线形图,那我首先就在原有的发送监控信息的功能上增加了把信息存入数据库中,然后再数据库中取得数据显示. 至于线形图的插件是jqx 的c ...

  5. LESSCSS

    LESSCSS应需求而生 CSS 的语法相对简单,对使用者的要求较低,但同时也带来一些问题:CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,尤其对于非前端开发工程师来讲,往往会因 ...

  6. Unity有限状态机编写

    有限状态机FSM 是对行为逻辑的抽象. 在整个FSM架构中 首先有一个状态基类stateObject 里面有三个方法,分别是状态前.状态中.状态后. 所有具体行为类都要继承这个基类,在这三个方法中具体 ...

  7. CoreData学习-最好的一片文章

    CoreData学习-最好的一片文章 分类: IOS重新上路2014-05-25 18:00 1937人阅读 评论(0) 收藏 举报   目录(?)[+]   写的很好的一篇教程,我什么时候能写出这么 ...

  8. [TYVJ] P1023 奶牛的锻炼

    奶牛的锻炼 背景 Background USACO   描述 Description 奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息.若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加 ...

  9. Bash: how to check if a process id (PID) exists

    http://stackoverflow.com/questions/3043978/bash-how-to-check-if-a-process-id-pid-exists https://bugz ...

  10. HDU 4010 Query on The Trees(动态树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4010 题意:一棵树,四种操作: (1)若x和y不在一棵树上,将x和y连边: (2)若x和y在一棵树上, ...