LINQ to XML 提供简洁方式操作 XML,使用 XElement 和 XDocument 创建结构,如书籍列表;通过 LINQ 查询语法或方法语法读取数据,支持 Where、Select 等操作;可修改元素值、属性,添加或删除节点;用 Load 加载文件,Save 保存输出,适合中小规模场景。

LINQ to XML 是 .NET 中一种轻量且直观的操作 XML 的方式,它结合了 LINQ 的查询能力与 XML 文档的内存表示,让创建、读取、修改和保存 XML 变得非常简洁。下面介绍如何使用 LINQ to XML 进行常见操作。
使用 XElement 和 XDocument 可以轻松构建 XML 结构。
示例:创建一个简单的书籍列表
XElement books = 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", "李四")
)
);调用 books.ToString() 即可输出格式化后的 XML 字符串。
使用 LINQ 查询语法或方法语法可以从 XML 中提取数据。
假设已有上面创建的 books 对象:
var query = from book in books.Elements("Book")
where (string)book.Element("Author") == "张三"
select (string)book.Element("Title");
<p>foreach (string title in query)
{
Console.WriteLine(title);
}也可以用方法语法:
var titles = books.Elements("Book")
.Where(b => b.Element("Author")?.Value == "张三")
.Select(b => b.Element("Title")?.Value);注意使用 ?. 操作符防止空引用异常。
LINQ to XML 支持直接修改元素值、属性或结构。
element.Value = "新值"
element.SetAttributeValue("name", "new value")
element.Add(new XElement("NewChild", "内容"))
element.Remove()
示例:为第一本书添加页数
var firstBook = books.Elements("Book").First();
firstBook.Add(new XElement("Pages", 500));从文件读取 XML 使用 XElement.Load() 或 XDocument.Load()。
XElement loadedBooks = XElement.Load("books.xml");将 XML 保存到文件:
books.Save("output.xml");支持路径字符串或 Stream,也支持异步加载/保存(.NET 4.0+)。
基本上就这些。LINQ to XML 让处理 XML 像操作对象一样自然,适合中小规模数据场景。不复杂但容易忽略细节,比如大小写敏感、命名空间处理等,使用时注意一致性。
以上就是.NET中如何使用LINQ to XML操作XML的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号