当前位置: 首页 > 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.dtcms.com/a/308731.html

相关文章:

  • spring mvc 整体处理流程原理
  • std::string 与 QString 的对比与转换:API 设计风格及实例分析
  • 2025 年 7 月 TIOBE 指数
  • React Filber及核心原理
  • Spring Boot 3.x 使用多数据源动态切换为何必须用 dynamic-datasource-spring-boot3-starter
  • 第13届蓝桥杯C++青少组中/高级组选拔赛2022年1月22日真题
  • visual studio 安装总结
  • 笔试——Day24
  • Faker虚假数据生成功能
  • 使用ANSYS Fluent和群体平衡模型对搅拌罐反应器中的气泡动力学进行建模
  • 运作管理学习笔记1-运作管理基础
  • 八、Vue前端项目案例关键过程记录
  • Redis高频问题全解析
  • NFLSOI 7.25 题解
  • 2025电赛e题:openmv识别过程丢失矩形
  • 第三十篇:AI的“思考引擎”:神经网络、损失与优化器的核心机制【总结前面2】
  • 项目推进难的原因有哪些?问题及应对
  • 汇编语言中的溢出(Overflow)与下溢(Underflow)
  • 03-Redis哨兵集群实现
  • 新手教程:用外部 PostgreSQL 和 Zookeeper 启动 Dolphinscheduler
  • 8.1-使用向量存储值列表
  • 2025年蓝桥杯青少图形化编程国考真题——摆放玩具
  • 大语言模型信息抽取系统解析
  • [12月考试] B
  • MySQL中join联表的原理
  • 前端基础之《Vue(28)—Vue3 ref相关API》
  • web应用从服务器主动推动数据到客户端的方式
  • Windows 11下IDEA中使用git突然变得卡慢及解决办法
  • Spring-rabbit使用实战五
  • 生信软件49 - 全基因组亚硫酸氢盐测序(WGBS)比对与甲基化水平调用工具BSseeker2