当前位置: 首页 > news >正文

C# XML 文件

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

手册链接:   

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

XmlDocument xml = new XmlDocument();

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

// 创建文档第一行
XmlDeclaration dcl = xml.CreateXmlDeclaration("1.0", "UTF-8",null);// 将创建的节点信息 存放到xml文件中
xml.AppendChild(dcl);

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" 是节点的名字

 XmlElement root = xml.CreateElement("root"); // <root> </root>xml.AppendChild(root);

InnerText 添加节点文本

SetAttribute 设置节点的属性

 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 不写路径的情况下 会默认保存到当前运行程序的路径下

xml.Save("Xml项目文件.txt");
Console.WriteLine("写入成功");

读取文件内容

Load 加载xml文件

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

XmlNode访问根节点

//XmlNode访问根节点
XmlNode xn =  xd.DocumentElement;
Console.WriteLine(xn.Name);
//遍历
foreach (XmlNode item in xn.ChildNodes)
{//节点名称Console.WriteLine(item.Name);//节点内容Console.WriteLine(item.InnerText);if (item.InnerText == "张三"){Console.WriteLine("有张三");}
}
http://www.lryc.cn/news/605787.html

相关文章:

  • 深度学习入门:用pytorch跑通GitHub的UNET-ZOO项目
  • mapper.xml中的<include>是什么
  • 摄像头模块的调焦原理
  • uni-app用css编写族谱树家谱树
  • 量子安全:微算法科技(MLGO)基于比特币的非对称共识链算法引领数字经济未来
  • 本地通信的选择:为什么组播比广播更适合多进程协作?
  • NAS、DAS、SAN三种存储介绍
  • [12月考试] E
  • 计算机网络学习--------三次握手与四次挥手
  • 深度学习G5周:Pix2Pix理论与实战
  • docker运行时目录/var/lib/docker 学习
  • npm从入门到精通一篇全
  • 蚂蚁财富招Java高级研发
  • java笔记——ConcurrentLinkedQueue
  • LangGraph底层原理与基础应用入门
  • Visual Studio调试技巧与函数递归详解
  • ADW300 物联网仪表:引领能源计量智能化变革
  • 电力系统功率与同步发电机运行特性详解
  • Qwen3-30B-A3B-Thinking-2507 推理模型深度评测
  • 【笔记】热力学定律推导(6)热力学第二定律推导
  • LaTeX 表格制作全面指南
  • 开发指南126-参数管理
  • C++:结构体(Structure)
  • 2025虚幻5光明之魂开发思考1——借鉴软件工程
  • React Filber及核心原理
  • 以AI大模型重构教育新生态,打造“教-学-练-辅-评”一体化智能平台
  • 澳交所技术重构窗口开启,中资科技企业如何破局?——从ASX清算系统转型看跨境金融基础设施的赋能路径
  • matlab - 算4个数的加减法
  • [mind-elixir]Mind-Elixir 的交互增强:单击、双击与鼠标 Hover 功能实现
  • 协同测试总结(电台/WIFI/ID/固定端口设置和开机自启)