XML 学习 创建、读取、修改

利用C#来创建一个xml文档

主要的步骤还是:
利用了微软提供的XmlDocument类来创建一个xDoc的文档实例化对象
利用这个对象来创建xml的表头(声明),里面包含版本,编码
然后还是利用这个xDoc文档对象里的CreateElement方法来创建对应的element,最后利用xDoc里的AppendChild方法进行逐级的绑定
XmlElement类型的数据具有setAttribute的方法来设置自身element的一些属性(姓名,学号等等)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;


namespace ConsoleApp1
{
    public class RW
    {
        public void WriteXml()
        {
            Random rd = new Random();

            //创建文档
            XmlDocument xDoc = new XmlDocument();
            //创建声明的内容
            XmlDeclaration declaration= xDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
            //绑定声明的内容
            xDoc.AppendChild(declaration);
            //创建根节点
            XmlElement elemRoot=  xDoc.CreateElement("student");
            //绑定根节点
            xDoc.AppendChild(elemRoot);
            for (int i = 0; i < 10; i++)
            {
                //创建子节点
                XmlElement eleSub = xDoc.CreateElement("student1");
                elemRoot.AppendChild(eleSub);

                //设置属性
                eleSub.SetAttribute("name", "张三");
                eleSub.SetAttribute("学号", i.ToString());

                XmlElement eleSubject = xDoc.CreateElement("成绩");
                eleSub.AppendChild(eleSubject);
                eleSubject.InnerText = rd.Next(60,100).ToString();

            }
           
            
            //保存
            xDoc.Save("students.xml");
        }
    }
}

下面是实现效果
在这里插入图片描述

读取xml文件里的内容

依旧先实例化XmlDocument类,获得一个xDoc对象
利用xDoc的Load方法获取到文件夹目录里的文件
然后利用xDoc的SelectSingleNode的方法获取第一个匹配的子节点并用XmlNode的类型数据node接收
利用node里ChildNodes属性把所有的子节点赋给一个XmlNodeList类型的变量 nodeList
遍历这个对象后,强制转换每一个XmlNode到XmlElement类型的数据,并且通过GetAttribute方法获取对应的属性以及属性值

代码如下

public void ReadXml()
        {
            //实例化对象
            XmlDocument xDoc = new XmlDocument();
            //加载文档
            xDoc.Load("students.xml");
            //获取第一个匹配的节点
            XmlNode node= xDoc.SelectSingleNode("student");
            //获取所有的子节点
            XmlNodeList nodeList= node.ChildNodes;

            //循环遍历
            foreach (XmlNode item in nodeList)
            {
                XmlElement itemEle = (XmlElement)item;
                Console.WriteLine(itemEle.GetAttribute("name")+" "+itemEle.GetAttribute("学号"));
            }

        }

修改

和创建方法类似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值