C# 如何操作 XML 文件_C# XML 文件读写与操作教程


C#中操作XML常用XmlDocument、XDocument、XmlReader/Writer和XmlSerializer;2. XmlDocument适合中小型文件的增删改查;3. XDocument语法简洁,推荐新项目使用;4. XmlReader/Writer流式处理大文件,节省内存;5. XmlSerializer可序列化对象到XML或反向还原;6. 应根据场景选择合适方式并注意异常处理与资源释放。

c# 如何操作 xml 文件_c# xml 文件读写与操作教程

在 C# 中操作 XML 文件非常常见,尤其是在配置文件处理、数据交换和序列化场景中。C# 提供了多种方式来读取、写入、修改和创建 XML 文件,主要通过 .NET Framework 中的 System.Xml 命名空间下的类来实现。本文将介绍几种常用的 XML 操作方法,帮助你快速上手 C# 对 XML 的读写与管理。

1. 使用 XmlDocument 读写 XML

XmlDocument 是一种基于 DOM(文档对象模型)的方式,适合处理中小型 XML 文件,支持随机访问和修改节点。

示例:创建并保存 XML 文件

using System.Xml;
<p>XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("Users");
doc.AppendChild(root);</p><p>XmlElement user = doc.CreateElement("User");
user.SetAttribute("Id", "1");
user.InnerText = "张三";
root.AppendChild(user);</p><p>doc.S*e("users.xml");</p>

示例:读取 XML 文件内容

XmlDocument doc = new XmlDocument();
doc.Load("users.xml");
<p>XmlNodeList users = doc.SelectNodes("//User");
foreach (XmlNode node in users)
{
Console.WriteLine($"ID: {node.Attributes["Id"].Value}, Name: {node.InnerText}");
}</p>

2. 使用 XDocument(LINQ to XML)更简洁地操作

XDocument 属于 LINQ to XML,语法更现代、简洁,推荐用于新项目。

示例:创建 XML 并保存

using System.Xml.Linq;
<p>XDocument doc = new XDocument(
new XElement("Users",
new XElement("User",
new XAttribute("Id", 1),
"张三"
)
)
);
doc.S*e("users.xml");</p>

示例:读取并查询 XML

XDocument doc = XDocument.Load("users.xml");
var users = doc.Descendants("User");
<p>foreach (var user in users)
{
Console.WriteLine($"ID: {user.Attribute("Id").Value}, Name: {user.Value}");
}</p>

示例:添加新节点

XDocument doc = XDocument.Load("users.xml");
doc.Root?.Add(
    new XElement("User",
        new XAttribute("Id", 2),
        "李四"
    )
);
doc.S*e("users.xml");

3. 使用 XmlReader 和 XmlWriter 高效读写大文件

当处理大型 XML 文件时,XmlReaderXmlWriter 是更好的选择,它们采用流式处理,内存占用低。

Copymatic Copymatic

Cowriter是一款AI写作工具,可以通过为你生成内容来帮助你加快写作速度和激发写作灵感。

Copymatic 149 查看详情 Copymatic

示例:用 XmlReader 读取数据

using System.Xml;
<p>using (XmlReader reader = XmlReader.Create("users.xml"))
{
while (reader.Read())
{
if (reader.IsStartElement() && reader.Name == "User")
{
string id = reader["Id"];
string name = reader.ReadElementContentAsString();
Console.WriteLine($"ID: {id}, Name: {name}");
}
}
}</p>

示例:用 XmlWriter 写入 XML

using (XmlWriter writer = XmlWriter.Create("users.xml"))
{
    writer.WriteStartDocument();
    writer.WriteStartElement("Users");
<pre class='brush:php;toolbar:false;'>writer.WriteStartElement("User");
writer.WriteAttributeString("Id", "1");
writer.WriteString("张三");
writer.WriteEndElement();

writer.WriteEndElement();
writer.WriteEndDocument();

}

4. 序列化与反序列化对象为 XML

如果你有现成的类结构,可以使用 XmlSerializer 直接将对象保存为 XML 或从 XML 恢复对象。

定义类:

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}

序列化到 XML

User user = new User { Id = 1, Name = "张三" };
XmlSerializer serializer = new XmlSerializer(typeof(User));
<p>using (TextWriter writer = new StreamWriter("user.xml"))
{
serializer.Serialize(writer, user);
}</p>

从 XML 反序列化

XmlSerializer serializer = new XmlSerializer(typeof(User));
using (TextReader reader = new StreamReader("user.xml"))
{
    User user = (User)serializer.Deserialize(reader);
    Console.WriteLine($"ID: {user.Id}, Name: {user.Name}");
}

基本上就这些。根据你的需求选择合适的方法:小文件用 XDocument 最方便;大文件用 XmlReader/Writer 更高效;对象映射优先考虑 XmlSerializer。不复杂但容易忽略细节,比如命名空间、空值处理和编码问题,实际使用时注意检查异常和资源释放。

以上就是C# 如何操作 XML 文件_C# XML 文件读写与操作教程的详细内容,更多请关注其它相关文章!


# 开源  # seo阶段性  # 关键词seo排名主要大 将 军22  # 葡萄酒营销推广计划  # 网站优化排名推广多少钱  # 网站推广的九个岗位  # 重庆seo新站优化  # seo简历写法  # 运动鞋的营销推广  # 怎么在搜索引擎推广网站  # 清远个人网站推广方案  # 是在  # 流式  # 并保存  # c#  # 如何处理  # 如何使用  # 大文件  # 序列化  # 死锁  # .net  # 内存占用  # 配置文件  # stream  # app  # 编码  # node  # xml 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 顺丰快递单号查询寄件人 顺丰寄件人查询入口  c++如何掌握指针的核心用法_c++指针入门到精通指南  XPath动态元素定位:如何精准选择文本内容变化的元素  如何外贸网站设计-能留住客户提升用户体验!  鲨鱼剧场app金币获取方法  Teambition网盘如何共享文件  冬季去寒冷地区旅游,以下哪种做法有助于缓解冻伤  多闪电脑版下载_多闪PC端模拟器使用  《下一站江湖2》风神腿获取攻略  SQL聚合查询、联接与筛选:GROUP BY 子句的正确使用与常见陷阱  Python定时发送QQ消息  曝《丝之歌》DLC有望开发!开发商还有神秘新企划  如何配置VS Code作为您Git操作的默认编辑器  qq邮箱格式填写示例 qq邮箱标准填写规范  Go Goroutine调度与并发执行深度解析  sublime text 4如何安装_最新版sublime下载与汉化教程  《偃武》甘宁技能详解  《优志愿》修改手机号方法  Yandex浏览器官方入口_Yandex搜索引擎中文版  照片整理的黄金法则是怎样的? 理解“收集-筛选-归档-备份”四步流程  word页码灰色不能用如何解决  PHP与SQL实践:高效实现数据复制与特定列值修改  《环球网校》设置报考省市方法  《长生:天机降世》火塔小怪大全  Python csv 模块处理非字符串数据:列表写入 CSV 文件的机制解析  响应式设计中动态背景颜色条的实现指南  《搜书吧》阅读书籍方法  苹果手机聊天记录删除了如何恢复  J*a列表元素格式化输出教程  163邮箱网页版入口 163邮箱在线使用  猫眼app抢票快还是小程序快  J*aScript文本高亮功能优化:解决多词匹配错误与精确分割策略  优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南  mysql中外键约束如何使用_mysql FOREIGN KEY操作  电脑“无法访问指定设备、路径或文件”怎么办?五种权限设置方法  汽水音乐在线入口 汽水音乐网页端官方页面快速打开  qq邮箱怎么注册_QQ邮箱注册步骤与注意事项  怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  MySQL多重关联查询:利用别名高效获取同一表的多个关联字段  b站怎么用微信登录_b站微信登录方法  顺丰官方查单号入口 顺丰快递单号查询官网入口  被称为海蜈蚣的海洋动物是  圆通快递官网入口查询单号 手机版官方查询入口  海棠阅读登录教程_详细讲解海棠登录操作  网站体验不好=浪费钱:如何提升-用户体验效果差  Win11如何分屏操作_Win11多窗口分屏技巧  植物大战僵尸95版游戏版下载_植物大战僵尸95版游戏版安装指南  《大周列国志》皇帝律令功能介绍  《火花chat》搜索好友方法  晓晓优选app支付宝绑定方法 

 2025-11-06

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.