linq to xml基础
下面分别用增、删、改几段代码来说怎么用linq怎么操作xml。首先引用using System.Xml.Linq;本文主要介绍XDocument 、XElement、XAttribute的操作方式
1、创建xml,使用XElement来创建元素节点,XAttribute来创建属性,通过XDocument来保存到指定的位置。如下面代码所示:
1 XDocument xdocc = new XDocument(); 2 XElement root = new XElement("Root", 3 new XElement("Student", 4 new XAttribute("StudentId", "1"), 5 new XElement("UserInfro", 6 new XAttribute("UserName", "张三"), 7 new XAttribute("Sex", "男"), 8 new XAttribute("Profession", "计算机") 9 ), 10 new XElement("UserLogs", 11 new XAttribute("BeginTime", "2010-8-01"), 12 new XAttribute("EndTime", ""), 13 new XAttribute("UserInfor", "") 14 ) 15 ) 16 ); 17 xdocc.Add(root); 18 xdocc.Save("C:\\Student.xml");
直接双击打开已创建的xml结果如下:(额,我的windows8下操作的时候提示对指定路径的操作被拒绝,右键已管理员身份运行就好了)
<?xml version="1.0" encoding="UTF-8"?> <Root> <Student StudentId="1"> <UserInfro Profession="计算机" Sex="男" UserName="张三"/>
<UserLogs UserInfor="" EndTime="" BeginTime="2010-8-01"/>
</Student>
</Root>
2、修改已经创建的XML文档,使用SetAttributeValue修改属性,使用SetElementValue修改元素,保存到原来的位置。
1 string path = "C:\\Student.xml"; 2 XDocument xdoc = new XDocument(); 3 XElement root = XElement.Load(path); 4 //修改属性 5 root.Element("Student").Element("UserInfro").SetAttributeValue("UserName", "李四"); 6 //修改元素 7 root.SetElementValue("UserLogs", "学生信息日志"); 8 xdoc.Add(root); 9 xdoc.Save(path);
修改后结果如下:
<?xml version="1.0" encoding="UTF-8"?> <Root> <Student StudentId="1"> <UserInfro Profession="计算机" Sex="男" UserName="李四"/><UserLogs UserInfor="" EndTime="" BeginTime="2010-8-01"/></Student> <UserLogs>学生信息日志</UserLogs> </Root>
3、使用Remove关键字删除已有XML文档中指定的元素或者属性。
1 string path = "C:\\Student.xml"; 2 XDocument xdoc = new XDocument(); 3 XElement root = XElement.Load(path); 4 root.Element("UserLogs").Remove(); 5 root.Element("Student").Element("UserInfro").Attribute("Profession").Remove(); 6 xdoc.Add(root); 7 xdoc.Save(path);
删除后结果如下:
<?xml version="1.0" encoding="UTF-8"?> <Root> <Student StudentId="1"> <UserInfro Sex="男" UserName="李四"/> <UserLogs UserInfor="" EndTime="" BeginTime="2010-8-01"/> </Student> </Root>
从别后, 忆相逢, 几会魂梦与汝同。
分类:
Linq
标签:
Linq to xml
, Linq操作Xml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端