两种读取.xml文件的方法
这里介绍两种读取配置文件(.xml)的方法:XmlDocument及Linq to xml
首先简单创建一个配置文件:
<?xml version="1.0" encoding="utf-8" ?> <Country Name="CHINA"> <Provinces> <province Name="LN" Title="LiaoNing"></province> <province Name="HB" Title="HeBei"></province> <province Name="HLJ" Title="HeiLongJiang"></province> </Provinces> </Country>
我们所要做的是获取province节点的Name及Title属性的value
1、XmlDocument
public static void ReadByXmlDocument(string xmlPath) { XmlDocument doc = new XmlDocument(); doc.Load(xmlPath); XmlNodeList provinceNodes = doc.SelectNodes("Country/Provinces/province"); if (provinceNodes.Count > 0) { foreach (XmlNode pNode in provinceNodes) { string name = pNode.Attributes["Name"].Value; string title = pNode.Attributes["Title"].Value; } } }
2、XElement
Note:XElement.Descendants(XName,name)方法传入的XName是节点标签。
public static void ReadByElement(string xmlPath) { XElement xElement = XElement.Load(xmlPath); var provinces = from p in xElement.Descendants("province") select new { name = p.Attribute("Name").Value, title = p.Attribute("Title").Value }; foreach (var item in provinces) { string name = item.name; string title = item.title; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)