新闻中心
C# 如何读取并解析xml文件
推荐使用XDocument解析小文件,代码简洁;大文件选用XmlReader节省内存;XmlDocument适合老项目。

在C#中读取并解析XML文件有多种方式,常用的是使用 XmlDocument、XDocument(LINQ to XML)和 XmlReader。下面介绍这三种方法的基本用法,帮助你根据需求选择合适的方式。
使用 XmlDocument 读取 XML
XmlDocument 是基于 DOM 的类,会将整个 XML 文档加载到内存中,适合结构简单、数据量不大的 XML 文件。
示例 XML 文件(data.xml):
25
30
代码示例:
Pinokio
Pinokio是一款开源的AI浏览器,可以安装运行各种AI模型和应用
232
查看详情
using System;
using System.Xml;
var doc = new XmlDocument();
doc.Load("data.xml"); // 或 LoadXml(string) 加载字符串
XmlNodeList users = doc.SelectNodes("/Users/User");
foreach (XmlNode user in users)
{
string id = user.Attributes["Id"]?.Value;
string name = user["Name"]?.InnerText;
string age = user["Age"]?.InnerText;
Console.WriteLine($"ID: {id}, 姓名: {name}, 年龄: {age}");
}
使用 XDocument(推荐,LINQ to XML)
XDocument 属于 LINQ to XML,语法更简洁,支持 LINQ 查询,是现代 C# 开发中的首选方式。
代码示例:
using System;
using System.Linq;
using System.Xml.Linq;
var doc = XDocument.Load("data.xml");
var users = from user in doc.Descendants("User")
select new
{
Id = user.Attribute("Id")?.Value,
Name = user.Element("Name")?.Value,
Age = user.Element("Age")?.Value
};
foreach (var u in users)
{
Console.WriteLine($"ID: {u.Id}, 姓名: {u.Name}, 年龄: {u.Age}");
}
使用 XmlReader 流式读取(高效但复杂)
XmlReader 是只进、只读的流式读取器,适合处理大文件,节省内存。
代码示例:
using System;
using System.Xml;
using var reader = XmlReader.Create("data.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "User")
{
string id = reader.GetAttribute("Id");
reader.ReadToDescendant("Name");
string name = reader.ReadElementContentAsString();
reader.ReadToNextSibling("Age");
string age = reader.ReadElementContentAsString();
Console.WriteLine($"ID: {id}, 姓名: {name}, 年龄: {age}");
}
}
基本上就这些。小文件推荐用 XDocument,结构清晰;大文件考虑 XmlReader;老项目可能还在用 XmlDocument。选哪个取决于你的场景。
以上就是C# 如何读取并解析xml文件的详细内容,更多请关注其它相关文章!
# 还在
# 开封app网站建设方案
# 重庆官网网站搭建推广哪家好
# 哈尔滨网站建设方案咨询
# 高邑网站推广营销招聘
# 章丘网站建设哪家好用
# seo抖音优化机构
# 老乡及营销推广方案
# 谷歌seo新手入门seo博客
# 固原seo公司首推11火星
# 甘肃会计网站建设
# 推荐使用
# c#
# 加载
# 分片
# 流式
# 客户端
# 的是
# 重试
# 大文件
# 多线程
# node
# xml解析
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
限制HTML日期输入框的日期选择范围
Golang如何安装Swagger工具_GoSwagger文档生成环境
动漫岛观看全网网 动漫岛在线正版动漫入口
QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网
qq邮箱日历功能怎么用_创建日程与会议邀请的技巧
谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版
LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置
抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站
Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧
正确连接J*aScript到HTML实现可点击图片与自定义事件处理
J*aScript数据结构转换:将对象数组按类别分组
微信聊天记录怎么加密_微信聊天记录加密方法
我的世界官方游戏入口 我的世界官网平台直达链接
Bing引擎入口最新2025 Bing搜索免费官方登录
QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址
如何更改在 Excel 中打开超链接时的默认浏览器
Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示
漫蛙漫画网页端入口 漫蛙2官方正版漫画站点
Win11怎么关闭快速启动_Win11彻底关机设置教程
新三国志曹操传110级星符试炼夏侯渊极难攻略
vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法
excel怎么制作工资条 excel快速生成工资条的方法
蛙漫官方正版入口 蛙漫网页在线全集免费观看
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
在J*a中如何在J*a中使用异常机制记录错误日志_异常日志实践经验
Golang如何实现Web文件静态资源服务器_Golang静态资源服务器开发与实践
qq浏览器如何查看和导出已保存的密码 qq浏览器密码管理器数据备份教程
必由学网页版入口 必由学官方平台直接访问
PHP中SSG-WSG API的AES加密实践:正确使用初始化向量
初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解
TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程
MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具
妖精动漫免费平台 妖精动漫官网资源观看网址
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
谷歌推RCS信息存档功能:公司可监控员工私密信息!
QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录
Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置
Win11 BitLocker密码忘了怎么办 Win11找回BitLocker恢复密钥方法【解决】
CSS布局:解决全屏元素100%尺寸与外边距导致的页面溢出问题
Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】
Excel文件在线转换快速入口 Excel在线格式转换网站
Win10如何清理注册表垃圾 Win10手动清理无效注册表【技巧】
抖音创作助手登录入口_抖音创作辅助工具官网直达
Mac怎么查看崩溃日志_Mac控制台错误报告分析
在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析
一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法
c++如何使用chrono库处理时间_c++标准库时间与日期操作
高德地图公交到站提醒失败如何解决 高德提醒权限设置
Mac怎么锁定备忘录_Mac备忘录加密设置教程


2025-10-28
浏览次数:次
返回列表