这里介绍两种读取配置文件(.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 > )
{
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;
}
}

最新文章

  1. java 开发中经常问到得懒汉模式 (单利模式)
  2. MVC MVP 和 MVVM的图示
  3. zabbix 3.0.4 Nginx 性能监控
  4. delphi 类型转化
  5. stdint.h 文件 int8_t uint8_t int16_t uint16_t
  6. Objective-C基础笔记一
  7. Android之HTTP网络通信--GET传递
  8. LeetCode之Max Points on a Line Total
  9. 关于ubuntu的图标创建以及快捷方式打开
  10. [转载] OAuth2.0认证和授权原理
  11. div 遮罩问题
  12. 8Linux磁盘划分、RAID
  13. Linux安装mysql5.6
  14. 【Hive学习之七】Hive 运行方式&amp;权限管理
  15. Kali系列之ettercap欺骗
  16. Hype cycle(Gartner 成熟度曲线)
  17. php后台管理员权限相关表结构
  18. SQL优化|Java面试题
  19. mybatis之入门
  20. xitong

热门文章

  1. 【Leetcode】【简单】【17. 整数反转】【JavaScript】
  2. HTML5学习手册
  3. Java8 日期 API 业务使用
  4. P2564 [SCOI2009]生日礼物 贪心
  5. 2014 西安 The Problem Needs 3D Arrays
  6. poj 3177 Redundant Paths(tarjan边双连通)
  7. yzoj P2349 取数 题解
  8. Mysql的事务及行级锁
  9. 【Redis】发布订阅
  10. Intro to Machine Learning