值得一看
广告
彩虹云商城
广告

热门广告位

C# .NET Core中如何操作xml文件

推荐使用XDocument进行XML操作,它支持LINQ to XML,适用于大多数场景;读取时可加载文件并解析元素,创建时可通过XElement构建结构并保存;修改时可增删改节点后保存;对于大文件则推荐XmlReader和XmlWriter以提升性能;注意文件路径配置确保正确访问。

c# .net core中如何操作xml文件

在C# .NET Core中操作XML文件非常常见,主要用于配置读取、数据交换或持久化存储。.NET Core 提供了多种方式来读取、创建、修改和保存XML文件,主要依赖于 System.Xml 命名空间下的类,如 XDocumentXmlDocumentXmlReaderXmlWriter。下面介绍几种常用且推荐的方式。

使用 XDocument(推荐,LINQ to XML)

XDocument 是 LINQ to XML 的核心类之一,语法简洁,支持链式操作,适合大多数场景。

读取XML文件:

假设有一个名为 data.xml 的文件:

<?xml version="1.0" encoding="utf-8"?>
<Books>
<Book Id="1">
<Title>C# 入门经典</Title>
<Author>张三</Author>
</Book>
<Book Id="2">
<Title>ASP.NET Core 开发实战</Title>
<Author>李四</Author>
</Book>
</Books>

使用 XDocument 读取内容:

using System;
using System.Linq;
using System.Xml.Linq;
<p>var doc = XDocument.Load("data.xml");</p><p>var books = doc.Root.Elements("Book")
.Select(b => new
{
Id = b.Attribute("Id")?.Value,
Title = b.Element("Title")?.Value,
Author = b.Element("Author")?.Value
});</p><p>foreach (var book in books)
{
Console.WriteLine($"ID: {book.Id}, 标题: {book.Title}, 作者: {book.Author}");
}</p>

创建并保存XML文件:

var newDoc = new XDocument(
new XElement("Books",
new XElement("Book", new XAttribute("Id", "3"),
new XElement("Title", "深入理解.NET"),
new XElement("Author", "王五")
)
)
);
<p>newDoc.Save("new_books.xml");</p>

修改现有XML文件

可以加载已有XML,添加、修改或删除节点。

PPT.CN,PPTCN,PPT.CN是什么,PPT.CN官网,PPT.CN如何使用

PPT.CN,PPTCN,PPT.CN是什么,PPT.CN官网,PPT.CN如何使用

一键操作,智能生成专业级PPT

PPT.CN,PPTCN,PPT.CN是什么,PPT.CN官网,PPT.CN如何使用37

查看详情
PPT.CN,PPTCN,PPT.CN是什么,PPT.CN官网,PPT.CN如何使用

var doc = XDocument.Load("data.xml");
<p>// 添加新书
doc.Root.Add(
new XElement("Book", new XAttribute("Id", "4"),
new XElement("Title", "Entity Framework 教程"),
new XElement("Author", "赵六")
)
);</p><p>// 修改某本书的作者
var bookToUpdate = doc.Root.Elements("Book")
.FirstOrDefault(b => b.Attribute("Id")?.Value == "1");
if (bookToUpdate != null)
{
bookToUpdate.Element("Author").Value = "张更新";
}</p><p>// 删除某本书
var bookToDelete = doc.Root.Elements("Book")
.FirstOrDefault(b => b.Attribute("Id")?.Value == "2");
bookToDelete?.Remove();</p><p>doc.Save("data.xml"); // 保存更改</p>

使用 XmlReader 高效读取大文件

当处理大型XML文件时,XDocument 会将整个文档加载到内存,可能影响性能。XmlReader 提供只进、只读的流式读取方式,更节省资源。

using System.Xml;
<p>using var reader = XmlReader.Create("data.xml");</p><p>while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "Title")
{
reader.Read();
Console.WriteLine("书名: " + reader.Value);
}
}</p>

使用 XmlWriter 写入大文件或流

与 XmlReader 对应,XmlWriter 适合高效写入大量数据。

using System.Xml;
<p>var settings = new XmlWriterSettings
{
Indent = true,
Encoding = System.Text.Encoding.UTF8
};</p><p>using var writer = XmlWriter.Create("large_output.xml", settings);</p><p>writer.WriteStartDocument();
writer.WriteStartElement("Items");</p><p>for (int i = 1; i <= 1000; i++)
{
writer.WriteStartElement("Item");
writer.WriteAttributeString("Id", i.ToString());
writer.WriteString($"内容{i}");
writer.WriteEndElement();
}</p><p>writer.WriteEndElement();
writer.WriteEndDocument();</p>

基本上就这些。对于常规操作,推荐使用 XDocument,它简洁易用;处理大文件时改用 XmlReader/XmlWriter 更合适。注意路径问题:在 .NET Core 中确保 XML 文件被复制到输出目录,或使用绝对路径/相对路径正确指向文件位置。

相关标签:

c# node 持久化存储 .net 命名空间 xml linq

大家都在看:

C# 在Unity中如何读写xml配置文件
C# 如何从xml中反序列化出字典(Dictionary)
如何使用C#执行存储过程?需要哪些参数?
C# 如何将字典(Dictionary)序列化为xml
C#中如何使用数据库的本地事务?示例代码是什么?
温馨提示: 本文最后更新于2025-11-01 16:29:51,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容