0

0

C# 如何操作XML文件 - LINQ to XML入门教程

幻夢星雲

幻夢星雲

发布时间:2025-12-16 08:03:44

|

890人浏览过

|

来源于php中文网

原创

LINQ to XML是C#中简洁高效的XML操作方式。需引入System.Xml.Linq和System.Linq命名空间;可动态创建XDocument并保存;支持Load读取、Descendants查询、Element/Attribute提取数据;能增删改节点,注意空值判断与Root/Descendants正确使用。

c# 如何操作xml文件 - linq to xml入门教程

在C#中操作XML文件,LINQ to XML是一种简洁、高效的方式。它结合了LINQ的强大查询能力与XML处理的灵活性,让读取、创建、修改和保存XML变得非常直观。本文将带你快速入门LINQ to XML,掌握常用操作。

1. 引入命名空间

使用LINQ to XML前,需要引入以下命名空间:

using System.Xml.Linq;
using System.Linq;

这两个是核心支持,XElement、XDocument等关键类都在System.Xml.Linq中。

2. 创建XML文档

你可以用代码动态创建XML结构。例如,创建一个表示书籍信息的XML:

XDocument doc = new XDocument(
    new XElement("Books",
        new XElement("Book",
            new XAttribute("id", "1"),
            new XElement("Title", "C#入门详解"),
            new XElement("Author", "张三")
        ),
        new XElement("Book",
            new XAttribute("id", "2"),
            new XElement("Title", "LINQ实战"),
            new XElement("Author", "李四")
        )
    )
);
// 保存到文件
doc.Save("books.xml");

这段代码会生成一个包含两本书的XML文件,结构清晰,嵌套自然。

3. 读取XML文件

使用XDocument.Load加载现有XML文件,然后通过LINQ查询提取数据:

WowTo
WowTo

用AI建立视频知识库

下载
XDocument doc = XDocument.Load("books.xml");

var books = from book in doc.Descendants("Book")
        select new
        {
            Id = book.Attribute("id")?.Value,
            Title = book.Element("Title")?.Value,
            Author = book.Element("Author")?.Value
        };

foreach (var b in books)
{
    Console.WriteLine($"《{b.Title}》作者:{b.Author} (ID: {b.Id})");
}

Descendants("Book") 获取所有名为 Book 的元素,支持深层查找。ElementAttribute 分别获取子元素和属性值,注意使用 ?. 防止空引用。

4. 修改XML内容

你可以轻松添加、更新或删除节点。比如为第一本书修改作者名:

XDocument doc = XDocument.Load("books.xml");
XElement firstBook = doc.Descendants("Book").First();
firstBook.Element("Author").Value = "王五";
doc.Save("books.xml"); // 保存更改

添加新书也很简单:

doc.Root.Add(
    new XElement("Book",
        new XAttribute("id", "3"),
        new XElement("Title", "深入理解C#"),
        new XElement("Author", "Jon Skeet")
    )
);

删除某本书(比如id为"2"的):

doc.Descendants("Book")
    .Where(b => b.Attribute("id")?.Value == "2")
    .Remove();

基本上就这些。LINQ to XML语法直观,适合大多数XML操作场景。只要熟悉XElement、XAttribute、查询语法和层级关系,就能高效处理配置文件、数据交换等任务。不复杂但容易忽略的是空值判断和正确使用Root、Descendants等方法。多练习几次,很快就能上手。

相关专题

更多
php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

44

2025.12.04

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1890

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2087

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1021

2024.11.28

console接口是干嘛的
console接口是干嘛的

console接口是一种用于在计算机命令行或浏览器开发工具中输出信息的工具,提供了一种简单的方式来记录和查看应用程序的输出结果和调试信息。本专题为大家提供console接口相关的各种文章、以及下载和课程。

412

2023.08.08

console.log是什么
console.log是什么

console.log 是 javascript 函数,用于在浏览器控制台中输出信息,便于调试和故障排除。想了解更多console.log的相关内容,可以阅读本专题下面的文章。

497

2024.05.29

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

61

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS教程
CSS教程

共754课时 | 21.5万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

微信小程序开发之API篇
微信小程序开发之API篇

共15课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号