C#操作XML文档---基础

本文详细介绍了XML文件的基本操作,包括如何创建XML文档、读取XML内容、编辑节点值与属性,以及如何删除节点与属性。通过实例代码演示了XML文档的创建、加载、遍历、修改与保存过程。

 增查改删代码如下

 1 public void CreateXML()
 2         {
 3             XmlDocument xml = new XmlDocument();
 4             xml.AppendChild(xml.CreateXmlDeclaration("1.0", "utf-8", ""));//文档说明
 5             XmlElement root = xml.CreateElement("root");//XML根节点
 6             XmlElement xe = xml.CreateElement("node");//创建数据节点
 7             xe.InnerText = "elementVal";//节点值
 8             xe.SetAttribute("attrName", "attrVal");//节点属性
 9             root.AppendChild(xe);//添加到根节点
10             xml.AppendChild(root);//添加到XML
11             xml.Save(Server.MapPath("~/test.xml"));//保存文档
12             Process.Start(Server.MapPath("~/test.xml"));//使用默认程序打开XML文档
13         }
View Code

 

 1         public void ReadXML()
 2         {
 3             XmlDocument xml = new XmlDocument();
 4             xml.Load(Server.MapPath("~/test.xml"));//加载XML
 5             XmlElement root = xml.DocumentElement;//获取根节点
 6             XmlNodeList xns = root.ChildNodes;//获取根节点的全部子节点
 7             foreach (XmlNode xn in xns)//遍历节点
 8             {
 9                 string[] str = { xn.InnerText, xn.Name };//节点值 节点名
10                 foreach (XmlAttribute attr in xn.Attributes)//遍历节点属性 XmlAttribute继承自XmlNode 取值方法一样
11                 {
12                 }
13             }
14         }
View Code

 

 1  public void EditXML()
 2         {
 3             //新增节点或节点属性同CreateXML相关操作
 4             XmlDocument xml = new XmlDocument();
 5             xml.Load(Server.MapPath("~/test.xml"));//加载XML
 6             XmlElement root = xml.DocumentElement;//获取根节点
 7             XmlNodeList xns = root.ChildNodes;//获取根节点的全部子节点
 8             foreach (XmlNode xn in xns)//这里XmlNode也可以直接写成XmlElement
 9             {
10                 xn.InnerText = "newVal";//修改节点值
11                 XmlAttribute attr = xn.Attributes["attrName"];//根据节点属性名名获取节点属性
12                 attr.InnerText = "newAttrVal";//修改节点属性值
13             }
14             xml.Save(Server.MapPath("~/test.xml"));//保存文档
15             Process.Start(Server.MapPath("~/test.xml"));//使用默认程序打开XML文档
16         }
View Code

 

 1         public void DelXML()
 2         {
 3             XmlDocument xml = new XmlDocument();
 4             xml.Load(Server.MapPath("~/test.xml"));//加载XML
 5             XmlElement root = xml.DocumentElement;//获取根节点
 6             XmlNodeList xns = root.ChildNodes;//获取根节点的全部子节点
 7             foreach (XmlNode xn in xns)
 8             {
 9                 root.RemoveAll();//删除全部节点
10                 root.RemoveChild(xn);//删除单个节点
11                 XmlElement xe = (XmlElement)xn;
12                 xe.RemoveAllAttributes();//删除全部节点属性
13                 xe.RemoveAttribute("attrName");//删除单个节点属性
14             }
15             xml.Save(Server.MapPath("~/test.xml"));//保存文档
16             Process.Start(Server.MapPath("~/test.xml"));//使用默认程序打开XML文档
17         }
View Code

 

转载于:https://www.cnblogs.com/liuph/p/4323861.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值