
C# XmlDocument遍历XML获取元素属性与子节点值示例
54KB |
更新于2024-09-01
| 187 浏览量 | 举报
收藏
在C#编程中,处理XML数据是一种常见的需求,尤其是在与Web服务交互或者数据持久化时。本文将详细介绍如何使用C#的XmlDocument类来读取名为"school.xml"的XML文件,该文件包含了启明培训学校的学生成绩信息,包括年级、班级、教师和学生等元素。以下是实现这一功能的步骤和关键代码段:
首先,创建一个XmlDocument对象并加载XML文件:
```csharp
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("school.xml");
```
加载完成后,我们可以使用`XmlNodeList`来获取XML文档中的所有元素。在本例中,我们关注的是`<student>`元素,因此可以这样获取:
```csharp
XmlNodeList studentNodes = xmlDoc.GetElementsByTagName("student");
```
接下来,遍历`studentNodes`,对于每个学生节点,我们可以获取其属性(如`<studentid>`)和子节点(如`<name>`和`<sex>`)的值:
```csharp
foreach (XmlNode node in studentNodes)
{
// 获取学生ID
string studentId = node.Attributes["studentid"].Value;
// 获取学生姓名
XmlNode nameNode = node.SelectSingleNode("name");
string name = nameNode.InnerText;
// 获取学生性别
XmlNode sexNode = node.SelectSingleNode("sex");
string sex = sexNode.InnerText;
// 打印学生信息
Console.WriteLine($"学生ID: {studentId}, 姓名: {name}, 性别: {sex}");
}
```
对于每个`<class>`和`<grade>`元素,也可以采用类似的方法获取其对应的属性和子节点。如果要获取属性,可以直接通过`Attributes`集合;如果要获取文本内容,可以使用`InnerText`或`SelectSingleNode`配合`InnerText`来获取。
此外,如果XML文件中包含嵌套的属性,如`<teacher teach="语文">`,可以使用XPath表达式`node.SelectSingleNode("//teacher[@teach='语文']/teacherName")`来获取特定属性的值。
总结来说,C#中的XmlDocument类提供了丰富的API来解析XML数据,通过遍历节点、获取属性和子节点,我们可以轻松地提取出XML文件中的各种信息。这个例子展示了如何通过C#代码读取并操作XML文件中的元素和属性值,这对于处理XML数据格式的数据源非常实用。
相关推荐







weixin_38568548
- 粉丝: 4
最新资源
- Cisco Voice over IP技术及2003年版本详解
- axis自动包管理:必备jar文件清单
- C语言实现的单词背诵系统课设项目
- VB实现模拟文件系统操作系统实习作业
- 欧凯KTV3.8皮肤修改器:定制您的VOD界面
- Apache MINA快速入门:第一个实例及依赖包介绍
- C#实现动态奔跑动画效果的ThreadAnimator源码解析
- 深入解析.NET线程:基础至高级编程技巧
- C++通讯录项目源代码分析与实现
- 淘客模板与源码整合:爱淘客与phpcms精选集
- Word2007转PDF工具:轻松文档转换
- 第三版建站宝典:全面指南到网站创建与管理
- Apache Tomcat 6.0.20部署工具压缩包解析
- JavaScript实现RSS解析实例教程
- 定时关机辅助工具:提升电脑管理效率
- PHP5与MySQL5技术详解及Web开发实践
- Java实现的网上商城购物系统功能详解
- 最新版《PHP和MySQL入门》教程下载
- 掌握JavaScript开发:与Java对象交互技巧
- 华为CDMA2000技术原理与解决方案培训
- 硬盘备份与恢复利器:Symantec Ghost 11.5.0.2113
- 深入解析传感器与检测技术基础
- 全面解析:数据结构的精要PPT课件
- HIS系统需求详细分析报告解读