C# XML 文件

在 C# 中处理 XML 文件是非常常见的操作,可以使用**System.Xml**命名空间中的类来实现。以下是一些常用的 XML 操作示例:

手册链接: System.Xml 命名空间

XmlDocument 创建一个xml数据格式的文档

cs 复制代码
XmlDocument xml = new XmlDocument();

XmlDeclaration是 C# 中 System.Xml 命名空间下的一个类,用于表示 XML 文档开头的声明 部分(即 <?xml ...?> 标签),即创建文档第一行。

cs 复制代码
// 创建文档第一行
XmlDeclaration dcl = xml.CreateXmlDeclaration("1.0", "UTF-8",null);

// 将创建的节点信息 存放到xml文件中
xml.AppendChild(dcl);

XML 声明的典型格式为:

XML 复制代码
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
  • version:指定 XML 版本(几乎都是 "1.0",这是目前最通用的版本)
  • encoding:指定文件编码(如 "utf-8"、"gbk" 等,影响文本的解析方式)
  • standalone:表示文档是否独立于外部资源("yes" 表示不依赖外部 DTD,"no" 表示依赖)
    AppendChild 将创建的节点信息 存放到xml文件中

在 C# 的 XML 处理中,AppendChild 是用于向 XML 节点添加子节点的方法,它属于 XmlNode 类(以及其派生类如 XmlElementXmlDocument 等)。该方法会将指定的节点添加到当前节点的子节点集合的末尾。

创建节点

XmlElement 元素的节点

CreateElement 是XmlDocument的方法 用于创建XmlElement 节点 "root" 是节点的名字

cs 复制代码
 XmlElement root = xml.CreateElement("root"); // <root> </root>
 xml.AppendChild(root);

InnerText 添加节点文本

SetAttribute 设置节点的属性

cs 复制代码
 XmlElement Name = xml.CreateElement("Name");
 //添加节点文本
 Name.InnerText = "张三";
 root.AppendChild(Name);
 //设置节点的属性
 Name.SetAttribute("id","123456");

 XmlElement Age = xml.CreateElement("Age");
 Age.InnerText = "18";
 root.AppendChild(Age);

Save不写路径的情况下 会默认保存到当前运行程序的路径下

cs 复制代码
xml.Save("Xml项目文件.txt");
Console.WriteLine("写入成功");

读取文件内容

Load 加载xml文件

cs 复制代码
 XmlDocument xd = new XmlDocument();
 //Load 加载xml文件
 xd.Load("Xml项目文件.txt");

XmlNode访问根节点

cs 复制代码
//XmlNode访问根节点
XmlNode xn =  xd.DocumentElement;
Console.WriteLine(xn.Name);
cs 复制代码
//遍历
foreach (XmlNode item in xn.ChildNodes)
{
    //节点名称
    Console.WriteLine(item.Name);
    //节点内容
    Console.WriteLine(item.InnerText);
    if (item.InnerText == "张三")
    {
        Console.WriteLine("有张三");
    }
}
相关推荐
小蒜学长20 分钟前
springboot多功能智能手机阅读APP设计与实现(代码+数据库+LW)
java·spring boot·后端·智能手机
zizisuo3 小时前
解决在使用Lombok时maven install 找不到符号的问题
java·数据库·maven
笨蛋少年派3 小时前
JAVA基础语法
java·开发语言
Haooog4 小时前
654.最大二叉树(二叉树算法)
java·数据结构·算法·leetcode·二叉树
我真的是大笨蛋4 小时前
依赖倒置原则(DIP)
java·设计模式·性能优化·依赖倒置原则·设计规范
东方芷兰4 小时前
JavaWeb 课堂笔记 —— 20 SpringBootWeb案例 配置文件
java·开发语言·笔记·算法·log4j·intellij-idea·lua
Roye_ack5 小时前
【项目实战 Day9】springboot + vue 苍穹外卖系统(用户端订单模块 + 商家端订单管理模块 完结)
java·vue.js·spring boot·后端·mybatis
人间有清欢5 小时前
java数据权限过滤
java·mybatis·权限控制·数据过滤
A阳俊yi5 小时前
Spring——声明式事务
java·数据库·spring
我要精通C++5 小时前
lua虚拟机的垃圾回收机制
java·开发语言