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. 技术路线 vs 技术管理路线

    最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容.我在<驾驭你的"职场布朗运动">一文中谈了2 ...

  2. String功能测试

    package foxe; import java.io.IOException;import java.util.StringTokenizer; public class MainClass { ...

  3. Java 访问控制符

    Java提供了3个访问控制符:private.protected和public,分别代表了3个访问控制级别,另外还有一个不加任何访问控制符的访问控制级别,提供了4个访问控制级别.Java的访问控制级别 ...

  4. html label 标签的 for 属性

    如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上. 有两种使用方法: 方法1 使用for属性 <label for ...

  5. ORA-942 SP2-0611

    环境:oracle 11.2.04 问题描述: 在使用hr用户启用set autot trace时报错 set">HR@test>set autot trace; Error O ...

  6. EL表达式复习

    EL表达式格式: 格式1:${objName.attribute} 执行的过程为:从pageContext.request.session.application中依次查找绑定名为“user”的对象, ...

  7. 设置ubuntu Android sdk环境变量

    cd /etc/ sudo gedit profile 在后面把tools和platform-tools的路径追加进去即可 PATH=$PATH:/home/android_sdk/tools 然后再 ...

  8. NAS4Free 安装配置(六)配置transmission实现BT(PT)下载

    配置transmission transmission是一个跨平台的BT客户端 首先我们建立一个存放transmission配置文件的目录 可以通过SSH,也可以通过网页来完成 注意:最好是通过SSH ...

  9. AngularJS 父子控制器

    <!doctype html> <html ng-app="myApp"> <head> <script src="C:\\Us ...

  10. Core Data (一)备

    序 恩,用Core Data也有一段时间了.大大小小的坑也都坑过了.重来没有认真的记录一次.这次需要好好的理一理Core Data.就当一次绝好的机会记录下来.也为了自己加深认识. 为什么要用Core ...