【LINQ笔记】LINQ操作XML
加载XML
XElement.Load("c:/1.xml");
XElement.Parse("<Persons></Persons>");
查找元素
var l = from n in root3.Elements()
select new Person { ID = int.Parse(n.Element("ID").Value), Name = n.Element("Name").Value };
构造XML
var root = new XElement("Persons",
new XElement("Person",
new XElement("ID", 1),
new XElement("Name", "zhangsan")),
new XElement("Person",
new XElement("ID", 2),
new XElement("Name", "lisi")),
new XElement("Person",
new XElement("ID", 3),
new XElement("Name", "wangwu"))
);
root.Save("c:/1.xml");
list转XML
var personList = new List<Person> {
new Person{ ID=1,Name="fan1"},
new Person{ ID=2,Name="fan2"}
};
var root2 = new XElement("Persons",
(from p in personList
select new XElement("Product", new XAttribute("ID", p.ID),
new XElement("Name", p.Name)))
);
root2.Save("d:/2.xml");
生成XML:
<?xml version="1.0" encoding="utf-8"?>
<Persons>
<Product ID="1">
<Name>fan1</Name>
</Product>
<Product ID="2">
<Name>fan2</Name>
</Product>
</Persons>
DataTable转XML
DataTable table = GetTable();
var root3 = new XElement("Persons",
(from n in table.AsEnumerable()
select new XElement("Product", new XElement("ID", n.Field<int>("ID")),
new XElement("Name", n.Field<string>("Name")))
));
root3.Save("c:/3.xml");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构