C#操作XML

1.XML是一种提供数据格式描述的标记语言。其自描述性使其非常适应于不同应用间的数据交换,而且这种交换不以预先定义的以组数据结构为前提!

eg:

  <?xml version="1.0" encoding="utf-8"?>
<root>
  <course_information>
    <courseName>操作系统</courseName>
    <courseTeacher>邹</courseTeacher>
    <coursePath>Database.aspx</coursePath>
    <courseAddTime>2006-7-1</courseAddTime>
  </course_information>
  <course_information>
    <courseName>数据库系统原理</courseName>
    <courseTeacher>胡</courseTeacher>
    <coursePath>Database.aspx</coursePath>
    <courseAddTime>2006-7-2</courseAddTime>
  </course_information>
  <course_information>
    <courseName>数据结构</courseName>
    <courseTeacher>李</courseTeacher>
    <coursePath>Database.aspx</coursePath>
    <courseAddTime>2006-7-30</courseAddTime>
  </course_information>
</root>

2.编辑XML文档

  先要把course_information.xml读入内存中,形成一棵DOM树,然后找到所要插入的父节点,添加一个新的

节点,添加一个新的节点,也就是XML文档的一个新的元素。最后把内存中的DOM树保存为一个XML文档。

eg:

添加新节点:

 string st="Database.aspx";
   DateTime date1=DateTime.Now;
   string date=date1.ToString("d");
   XmlDocument xmlDoc=new XmlDocument();
   xmlDoc.Load(file);
   XmlNode root=xmlDoc.SelectSingleNode("root");//select the root node;
   XmlElement course=xmlDoc.CreateElement("course_information");
   XmlElement name=xmlDoc.CreateElement("courseName");
   name.InnerText=this.TextBox1.Text;
   XmlElement teacher=xmlDoc.CreateElement("courseTeacher");
   teacher.InnerText=this.TextBox2.Text;
   XmlElement path=xmlDoc.CreateElement("coursePath");
   path.InnerText=st;
   XmlElement addTime=xmlDoc.CreateElement("courseAddTime");
   addTime.InnerText=date;
   course.AppendChild(name);
   course.AppendChild(teacher);
   course.AppendChild(path);
   course.AppendChild(addTime);
   root.AppendChild(course);
   xmlDoc.Save(file);
   xmlDoc=null;

删除节点:

string filename=Server.MapPath(@".\XML\course_information.xml");
    XmlDocument xmlDoc=new XmlDocument();
    xmlDoc.Load(filename);
    string name=this.TextBox1.Text.ToString();
    XmlNode oldNode=xmlDoc.SelectSingleNode("root/course_information[courseName='"+name+"']");
    XmlNode root=xmlDoc.SelectSingleNode("root");
    root.RemoveChild(oldNode);
    xmlDoc.Save(filename);
    xmlDoc=null;
    dt=op.ReadXml(filename);
    dv=dt.DefaultView;
    BindGrid();//绑定到DataGrid

你可能感兴趣的:(xml)