
C#读取XML节点数据:XPath与遍历方式
51KB |
更新于2024-08-29
| 117 浏览量 | 举报
收藏
"C#读取XML节点数据方法小结"
在C#编程中,XML文件是一种常见的数据存储格式,用于传递和存储结构化数据。本文将介绍两种在C#中读取XML节点数据的方法:使用XPath和遍历式读取。
### 第一种:使用XPath
XPath(XML Path Language)是一种在XML文档中查找信息的语言。它允许通过表达式来选取节点,如元素、属性、文本等。在以下示例中,我们将XML文件的路径配置在`web.config`的`appSettings`节点下,并通过XPath选取`Organization`节点。
```csharp
// 加载XML文件
string orgCodePath = Server.MapPath(ConfigurationManager.AppSettings["orgCodePath"]);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(orgCodePath);
// 使用XPath选取所有Organization节点
XmlNodeList topM = xmlDoc.SelectNodes("//Organization");
// 遍历选取的节点并存储数据
Hashtable ht = new Hashtable();
foreach (XmlElement element in topM)
{
string id = element.GetElementsByTagName("ID")[0].InnerText;
string domainName = element.GetElementsByTagName("DomainName")[0].InnerText;
ht.Add(id, domainName);
}
```
在这个例子中,我们首先加载XML文件,然后使用`SelectNodes`方法与XPath表达式`//Organization`来选取所有的`Organization`节点。接着,遍历选取的节点,提取`ID`和`DomainName`子节点的文本内容,并存储到`HashTable`中。
### 第二种:遍历式读取XML
除了使用XPath,还可以通过遍历XML文档的节点树来读取数据。这种方法适用于不熟悉XPath或者需要更多控制的情况。
```csharp
// 打开XML文件
string filename = Server.MapPath(@"~\path\to\your\xmlfile.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filename);
// 获取根节点
XmlNode rootNode = xmlDoc.DocumentElement;
// 遍历XML树
foreach (XmlNode node in rootNode.ChildNodes)
{
if (node.NodeType == XmlNodeType.Element && node.Name == "Organization")
{
string id = node.SelectSingleNode("ID").InnerText;
string domainName = node.SelectSingleNode("DomainName").InnerText;
// 存储数据到自定义数据结构
// ...
}
}
```
在这个遍历式方法中,我们首先加载XML文件,获取根节点,然后遍历根节点的所有子节点。当遇到名为`Organization`的元素节点时,我们进一步选取`ID`和`DomainName`子节点的文本内容。
这两种方法都可以有效地读取XML文件中的数据,选择哪种取决于个人偏好、项目需求以及对XPath的熟悉程度。XPath提供了更简洁的表达方式,而遍历则更加直观且易于理解。在实际开发中,开发者可以根据具体情况灵活选用。
相关推荐








weixin_38715094
- 粉丝: 5
最新资源
- TOP-DesignerV231版软件发布(2008年11月12日)
- 湖南省第九届程序设计竞赛完整题目与标程解析
- VC++6.0实现MP3解码与播放工程
- 黎活明网上支付系统源代码及文档详解
- 众筹系统监控与交易分析操作手册
- 深入体验Google官方自定义ImageView的旋转动画
- 探索Android平台上的Spring框架应用
- Eclipse安卓开发教程:7个应用程序源代码分享
- 深入探究编程界两大经典字体:Consola与Courier New
- HP LaserJet P3015 驱动程序支持系统及操作系统列表
- MemAdmin:Memcache管理工具的新选择
- 实现简洁实用的JavaScript树状菜单教程
- 蒙泰软件5.3武藤1604W曲线包下载指南
- DLNA库源代码包分析与数字媒体共享解决方案
- 智能MP3歌曲排序管理工具使用教程
- Dos下光盘镜像制作技巧与应用
- Western Digital发布SmartWare安装器2.3.0.20版本
- 增强型input控件:键盘、点击及自动补全支持
- 下载apache-tomcat-6.0.18版本,Tomcat服务器部署利器
- 初学者项目:安卓音乐播放器功能及进度设置
- 谭浩强版C语言教程及配套课件全集
- 2011年数学建模大赛优秀A题论文精选集
- Spring框架与MongoDB整合源码深度解析
- 学生信息管理GUI设计与菜单技术应用