C#怎么动态创建和修改XML节点
发布时间:2026-01-26 00:00:00 作者:星降 浏览量()
摘要:推荐使用XDocument和XElement类动态创建修改XML:用构造器拼装节点、LINQ查找目标、实例方法增删改,支持属性设置、内容替换、兄弟插入及Remove()删除,最后Save()保存。在C#中动态创建和修改XML节点,推荐使用 System.Xml.Linq 命名空间...
推荐使用XDocument和XElement类动态创建修改XML:用构造器拼装节点、LINQ查找目标、实例方法增删改,支持属性设置、内容替换、兄弟插入及Remove()删除,最后Save()保存。
在C#中动态创建和修改XML节点,推荐使用 System.Xml.Linq 命名空间下的 XDocument 和 XElement 类——它们语法简洁、支持LINQ查询、内存操作直观,比传统的 XmlDocument 更现代易用。
动态创建XML节点
用 XElement 构造器可直接拼装层级结构,支持嵌套、属性、文本内容一次性声明:
- 创建根节点并添加子节点:var root = new XElement("Books", new XElement("Book", new XAttribute("id", "1"), new XElement("Title", "C#入门"), new XElement("Author", "张三")));
- 批量添加同级节点:用集合初始化器或 Add() 方法,如 root.Add(new XElement("Book", new XAttribute("id", "2"), ...));
- 创建空文档再加根
:var doc = new XDocument(new XElement("Root")); 后续用 doc.Root.Add(...) 追加
定位并修改现有节点
修改前先用 LINQ 方法查到目标节点(如 Elements()、Descendants()、FirstOrDefault()),再调用实例方法:
- 改文本内容:node.Value = "新书名"; 或 node.ReplaceNodes("新内容");
- 改属性值:node.SetAttributeValue("id", "99");(属性不存在会自动创建)
- 替换整个节点:node.ReplaceWith(new XElement("Book", ...));
- 插入兄弟节点:node.AddAfterSelf(...) 或 node.AddBeforeSelf(...)
删除与保存
删除节点直接调用 Remove() 方法(注意:该节点必须已附加到父节点,否则无效果):
- 删单个:node.Remove();
- 删所有匹配项:doc.Descendants("Temp").Remove();
- 保存到文件:doc.Save("books.xml"); 或用 doc.ToString() 获取字符串
基本上就这些。关键点是:用 XElement 做构建,用 LINQ 做查找,用实例方法做增删改——不用手动管理 XmlNode 的父子关系,也不用担心 CreateElement 等繁琐步骤。
声明:本站内容部分来源网络搜集发布,如有侵权请联系客服删除。
相关新闻
- 如何解决Windows字体显示模糊的问题?(ClearTyp
- Python字符串格式化怎么用_fstring与format
- 如何在 Laravel 的 selectRaw 查询中正确实
- 怎么制作一个带万能驱动的系统安装盘 离线安装驱动教程【懒人必
- Win11怎么关闭系统提示音_Windows11声音方案设置
- Win11怎么打开cmd_Windows 11运行命令提示符
- css图片放进容器后尺寸异常怎么办_检查css盒模型与边框设
- C++20的模块(Modules)是什么,如何使用?(告别头
- Windows7怎么找回经典开始菜单_Windows7经典菜
- 悟空浏览器网页版官方地址_悟空浏览器最新官网导航入口
