两种读取.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;
            }
        }
复制代码

 

posted @   云霄宇霁  阅读(226)  评论(0编辑  收藏  举报
编辑推荐:
· 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)
点击右上角即可分享
微信分享提示