XML——XML操作

简介: XML——XML操作

操作XML文件需要引用命名空间:System.Xml;


向Xml文件中添加信息

添加Student.xml文件,文件信息如下:


<?xml version="1.0" encoding="utf-8"?>


<Students>


 <Student class="一班">


   <Name>张三</Name>


   <Gender>男</Gender>


   <Age>19</Age>


 </Student>


 <Student class="二班">


   <Name>李四</Name>


   <Gedner>女</Gedner>


   <Age>20</Age>


 </Student>


 <Student class="一班">


   <Name>had</Name>


   <Gender>女</Gender>


   <Age>16</Age>


 </Student>


</Students>


代码:


 XmlDocument doc = new XmlDocument();


           //修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”


           //string exePath = Application.StartupPath+"\\Student.xml";


           //doc.Load(exePath);


           //将程序目录下的Student.Xml中添加学生信息。


           String exePath = Application.StartupPath;


           int idx = exePath.LastIndexOf("bin");


           exePath = exePath.Substring(0, idx) + "Student.xml";


           doc.Load(exePath);


           XmlNode node = doc.CreateNode(XmlNodeType.Element, "Student", "");


           XmlAttribute attr = doc.CreateAttribute("class");


           attr.Value = "一班";


           node.Attributes.Append(attr);


           XmlNode name = doc.CreateNode(XmlNodeType.Element, "Name","");


           name.InnerText = "had";


           XmlNode gender = doc.CreateNode(XmlNodeType.Element, "Gender", "");


           gender.InnerText = "女";


           XmlNode age = doc.CreateNode(XmlNodeType.Element, "Age", "");


           age.InnerText = "16";


           node.AppendChild(name);


           node.AppendChild(gender);


           node.AppendChild(age);


           doc["Students"].AppendChild(node);


           doc.Save(exePath);    


删除Xml文件中的数据

    XmlDocument doc = new XmlDocument();


           //修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”


           //string exePath = Application.StartupPath+"\\Student.xml";


           //doc.Load(exePath);


           //将程序目录下的Student.Xml中添加学生信息。


           String exePath = Application.StartupPath;


           int idx = exePath.LastIndexOf("bin");


           exePath = exePath.Substring(0, idx) + "Student.xml";


           doc.Load(exePath);


           XmlNodeList list = doc["Students"].ChildNodes;


           foreach (XmlNode node in list)


           {

               foreach (XmlNode nd in node.ChildNodes)


               {

                   if (nd.InnerText == "had")


                   {

                       nd.ParentNode.ParentNode.RemoveChild(nd.ParentNode);


                       doc.Save(exePath);


                       return;


                   }


               }


           }


修改xml中的数据:

XmlDocument doc = new XmlDocument();


           //修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”


           //string exePath = Application.StartupPath+"\\Student.xml";


           //doc.Load(exePath);


           //将程序目录下的Student.Xml中添加学生信息。


           String exePath = Application.StartupPath;


           int idx = exePath.LastIndexOf("bin");


           exePath = exePath.Substring(0, idx) + "Student.xml";


           doc.Load(exePath);


           XmlNodeList list = doc["Students"].ChildNodes;


           for (int i = 0; i < list.Count; i++)


           {

               XmlNode node = list[i];


               if (node["Name"].InnerText == "李四")


               {

                   node["Gender"].InnerText = "男";


               }


               foreach (XmlNode nd in node.ChildNodes)


               {

                   if (nd.InnerText == "张三")


                   {

                       nd.ParentNode["Gender"].InnerText = "女";                      


                   }


               }


           


           }


           doc.Save(exePath);


读取xml文件的所有数据

XmlDocument doc = new XmlDocument();


           //修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”


           //string exePath = Application.StartupPath+"\\Student.xml";


           //doc.Load(exePath);


           //将程序目录下的Student.Xml中添加学生信息。


           String exePath = Application.StartupPath;


           int idx = exePath.LastIndexOf("bin");


           exePath = exePath.Substring(0, idx) + "Student.xml";


           doc.Load(exePath);


           XmlNodeList list = doc["Students"].ChildNodes;


           foreach (XmlNode node in list)


           {

               String name = node["Name"].InnerText;


               string gender = node["Gender"].InnerText;


               string age = node["Age"].InnerText;


               listBox1.Items.Add(name + "," + age + "," + gender);


           }  


创建Xml文件,并向里面添加数据

 private void button1_Click(object sender, EventArgs e)


       {

           CreateXmlFile();


       }


       public void CreateXmlFile()


       {

           String exePath = Application.StartupPath;


           int idx = exePath.LastIndexOf("bin");


           exePath = exePath.Substring(0, idx) + "aa.xml";


           XmlDocument xmlDoc = new XmlDocument();


           //创建类型声明节点


           XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");


           xmlDoc.AppendChild(node);


           //创建根节点


           XmlNode root = xmlDoc.CreateElement("User");


           xmlDoc.AppendChild(root);


           CreateNode(xmlDoc, root, "name", "xuwei");


           CreateNode(xmlDoc, root, "sex", "male");


           CreateNode(xmlDoc, root, "age", "25");          


           xmlDoc.Save(exePath);        


       }


       /// <summary>  


       /// 创建节点  


       /// </summary>  


       /// <param name="xmldoc"></param>  xml文档


       /// <param name="parentnode"></param>父节点  


       /// <param name="name"></param>  节点名


       /// <param name="value"></param>  节点值


       ///  


       public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)


       {

           XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);


           node.InnerText = value;


           parentNode.AppendChild(node);


       }  

目录
相关文章
|
7月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
|
7月前
|
XML Java 开发工具
jdom操作xml实战
jdom操作xml实战
|
6月前
|
XML Java 数据格式
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
47 1
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
65 0
|
7月前
|
XML Java 数据库连接
Mybatis之简介、使用操作(安装、XML、SqlSession、映射的SQL语句、命名空间、作用域和生命周期)
【1月更文挑战第2天】 MyBatis 是一款优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。
172 2
Mybatis之简介、使用操作(安装、XML、SqlSession、映射的SQL语句、命名空间、作用域和生命周期)
|
7月前
|
XML 存储 JavaScript
深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象
129 0
|
7月前
|
XML Java 数据库连接
* 完成单表操作:需要3个功能。 * 功能1:使用注解 * 功能2:通用Mapper * 功能3:使用xml
* 完成单表操作:需要3个功能。 * 功能1:使用注解 * 功能2:通用Mapper * 功能3:使用xml
119 0
|
XML 存储 JSON
【100天精通python】Day29:文件与IO操作_XML文件处理
【100天精通python】Day29:文件与IO操作_XML文件处理
101 0
|
XML 数据格式
XML的简单操作
接着上篇博客《XML简介与创建》,这篇博客将介绍对xml文档的简单操作:
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作2
69 0