C#基础 XMLDocument类操作XML文件

XmlDocument类:
用于xml文档的操作类,可以为xml文件进行增删改查操作
也有人用于操作web.config,但不建议操作

文件的创建

				//初始化xmlDocument
				XmlDocument xmldoc = new XmlDocument();
				//加载指定目录下的xml文件
				 xmldoc.Load($"{HttpRuntime.AppDomainAppPath}\\Web.Xml");
                //创建xml
                XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);                
                xmldoc.AppendChild(xmldecl);
                //创建根元素
                var rootElement = xmldoc.CreateElement("password");
                xmldoc.AppendChild(rootElement);
                xmldoc.Save(webconfigPath);

1.XmlDeclaration 类用于定义xml文件头部的定义,包括版本,编码模式,例如

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

2.xmldoc.CreateElement表示创建元素,当直接使用xmlDoc对象进行append时,表示增加根节点。
值得注意的是,xml文件新建时,必须要有根元素,否则会提示没有根结点的错误
3. xmldoc.Save只要对文件进行了更改,必须要save才能生效

判断节点

1.判断节点是否存在

			//查询节点是否存在
            XmlNode node = xmlDoc.DocumentElement.SelectSingleNode(key);
            if (node == null)
            {
                return "";
            }
            else
            {
                return node.InnerText;
            }  

innerText表示内在的数据,如果还有子节点,则会展示内部节点的数据,依次往内查询
此处的查询节点是否存在,只是查询根节点之后的数据
想要查询根节点的名称,使用localName查询

xmlDoc.DocumentElement.LocalName

增加节点

           var xmlElem = xmlDoc.DocumentElement;//获取根节点
            var bodyElement = xmlElem.SelectSingleNode(key);//取根节点

            if (bodyElement == null)
            {
                //给根节点新增子节点,即账号密码
                XmlElement childElement = xmlDoc.CreateElement(key);
                childElement.InnerText = value;
                xmlElem.AppendChild(childElement);
                xmlDoc.Save(webconfigPath);
            }
            else
            {
                bodyElement.InnerText = value;
                xmlDoc.Save(webconfigPath);
            }

新增节点与新增根节点类似,唯二不同的是,1.根节点一般不会设定数据。2.增加根节点使用XmlDocument对象,但是增加子节点使用XmlElement对象(即找出来的对应节点的对象),当然XmlNode也是可以的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值