新闻中心
c#如何读写xml文件 c#操作xml节点的实例
C#中操作XML常用XmlDocument和XDocument。1. XmlDocument采用DOM模型,适合复杂结构:可创建声明、元素、属性,通过Load/S*e读写文件,SelectNodes查询节点,修改后保存。2. XDocument基于LINQ to XML,语法简洁:使用XElement构建层次结构,Descendants查找元素,Add添加节点,推荐新项目使用。两者均可实现XML的增删改查,XDocument更现代清晰。

在C#中读写XML文件非常常见,通常使用System.Xml命名空间下的类来操作。最常用的是XmlDocument和XDocument(LINQ to XML)。下面通过实例演示如何创建、读取、修改和保存XML文件。
使用XmlDocument读写XML文件
XmlDocument是传统的DOM方式操作XML,适合处理结构较复杂的文档。
刺鸟创客
一款专业高效稳定的AI内容创作平台
110
查看详情
// 示例:创建并保存一个XML文件
var doc = new XmlDocument();
var declaration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(declaration);
var root = doc.CreateElement("Users");
doc.AppendChild(root);
var user = doc.CreateElement("User");
user.SetAttribute("Id", "1");
var name = doc.CreateElement("Name");
name.InnerText = "张三";
user.AppendChild(name);
var age = doc.CreateElement("Age");
age.InnerText = "25";
user.AppendChild(age);
root.AppendChild(user);
doc.S*e("users.xml"); // 保存到文件
var doc = new XmlDocument();
doc.Load("users.xml"); // 从文件加载
var users = doc.SelectNodes("//User");
foreach (XmlNode node in users)
{
var id = node.Attributes["Id"]?.Value;
var name = node["Name"]?.InnerText;
var age = node["Age"]?.InnerText;
Console.WriteLine($"ID: {id}, 姓名: {name}, 年龄: {age}");
}
var doc = new XmlDocument();
doc.Load("users.xml");
var userNode = doc.SelectSingleNode("//User[@Id='1']");
if (userNode != null)
{
userNode["Name"].InnerText = "李四";
doc
.S*e("users.xml");
}
使用XDocument(LINQ to XML)操作XML
XDocument是LINQ to XML的一部分,语法更简洁,推荐用于新项目。
// 示例:创建并保存XML
var doc = new XDocument(
new XElement("Users",
new XElement("User",
new XAttribute("Id", "1"),
new XElement("Name", "王五"),
new XElement("Age", "30")
)
)
);
doc.S*e("users_linq.xml");
var doc = XDocument.Load("users_linq.xml");
var users = doc.Descendants("User");
foreach (var user in users)
{
var id = user.Attribute("Id")?.Value;
var name = user.Element("Name")?.Value;
var age = user.Element("Age")?.Value;
Console.WriteLine($"ID: {id}, 姓名: {name}, 年龄: {age}");
}
var doc = XDocument.Load("users_linq.xml");
doc.Root?.Add(
new XElement("User",
new XAttribute("Id", "2"),
new XElement("Name", "赵六"),
new XElement("Age", "28")
)
);
doc.S*e("users_linq.xml");
常见操作总结
- 创建元素:使用 CreateElement 或 new XElement
- 设置属性:SetAttribute 或 new XAttribute
- 查找节点:SelectSingleNode / SelectNodes 或 Descendants()
- 修改内容:直接赋值 InnerText 或 Value
- 保存文件:S*e() 方法
以上就是c#如何读写xml文件 c#操作xml节点的实例的详细内容,更多请关注其它相关文章!
# app
# 温州网站优化电池充电
# 营销推广名称大全
# 南山推广营销公司
# 东城网站关键字优化价格
# 济源专业网站seo
# 高效营销推广哪家好点
# 旅游微博推广营销方案
# 优化网站链接路径的方法
# 凯里手机网站优化
# 解决问题
# 均可
# 中文网
# 相关文章
# 两种
# 都能
# 如何在
# 并保存
# 的是
# 如何选择
# c#
# node
# 海南seo软件如何获客
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Python类型检查:优化关联可选属性的Mypy推断策略
深入理解J*aScript中的B样条曲线与节点向量生成
处理Kafka消费者会话超时:深入理解消息处理语义与幂等性
京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比
msn官网入口地址手机版 msn官方网站手机最新链接
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
小红书网页版入口链接分享 小红书官网直接进
使用Pandas转换并合并DataFrame:多列映射至统一结构
CSS Flexbox与媒体查询:实现响应式布局中元素的并排与堆叠
Python Socket多播通信中指定源IP地址的实践指南
Lar*el 递归关系中排除指定分支的教程
J*aScript生成器_j*ascript异步迭代
C++如何实现一个智能指针_手动实现C++ shared_ptr的引用计数功能
微信商城在哪里打开【步骤】
谷歌学术网站直达地址 谷歌学术搜索网页版一键进入
优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题
mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析
J*aScript map 方法中处理循环元素为空数组的策略
CSS子选择器:如何区分并样式化嵌套列表的子层级
uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页
word中如何让数字纵向排列_Word数字纵向排列方法
谷歌邮箱网页版官方页面入口 谷歌邮箱网页端快速访问
现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践
百度网盘网页版入口 百度网盘网页版官方登录网址
J*aScript中赋值与自增运算符的复杂交互与执行机制
响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配
微信语音通话掉线如何解决 微信语音通话稳定优化方法
Django表单验证失败时保留用户输入数据的最佳实践
React项目中导航栏Logo自适应布局:避免裁剪与布局溢出
蛙漫官方正版入口 蛙漫网页在线全集免费观看
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
如何使用纯J*aScript判断Input元素是否在特定类容器内
2026春节假期票务安排_2026春节放假购票指南
Composer中的^和~符号代表什么_精通Composer版本号语义化约束
UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】
电脑IP地址怎么查 查看本机IP地址的几种方法
iwriter统一登录平台 iwrite账号密码登录页面
夸克浏览器图书入口 夸克手机浏览器阅读入口
Lar*el头像管理:图片缩放与旧文件删除的最佳实践
迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法
蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接
C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令
电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】
内存检查:在VS Code中调试C++时的内存视图
搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具
Python大型XML文件高效流式解析教程
TikTok国际版官网直达_TikTok国际版官网直达进入在线观看


2025-11-06
浏览次数:次
返回列表