C# 读取和解析 XML 文件
在 C# 中,System.Xml
名称空间用于处理 XML
文件。它具有不同的类和方法来处理 XML 文件。我们可以使用该命名空间读取,解析和写入 XML 文件。
在本文中,我们将讨论用于读取和解析 XML 文件的不同方法。
使用 XmlReader 类读取和解析 XML 文件的 C# 程序
C# 中的 XmlReader
类提供了一种访问 XML 数据的有效方法。XmlReader.Read()
方法读取 XML 文件的第一个节点,然后使用 while
循环读取整个文件。
此方法的正确语法如下:
XmlReader VariableName = XmlReader.Create(@"filepath");
while (reader.Read()) {
// Action to perform repeatidly
}
我们已经在程序中读取并解析的 XML 文件如下。复制此代码并将其粘贴到新的文本文件中,并将其另存为 .xml
,以使用该文件执行以下给出的程序。
<?xml version="1.0" encoding="utf-8"?>
<Students>
<Student>
</Student>
<Student>
<Name>Olivia</Name>
<Grade>A</Grade>
</Student>
<Student>
<Name>Laura</Name>
<Grade>A+</Grade>
</Student>
<Student>
<Name>Ben</Name>
<Grade>A-</Grade>
</Student>
<Student>
<Name>Henry</Name>
<Grade>B</Grade>
</Student>
<Student>
<Name>Monica</Name>
<Grade>B</Grade>
</Student>
</Students>
示例代码:
using System;
using System.Xml;
namespace XMLReadAndParse {
class XMLReadandParse {
static void Main(string[] args) {
// Start with XmlReader object
// here, we try to setup Stream between the XML file nad xmlReader
using (XmlReader reader = XmlReader.Create(@"d:\Example.xml")) {
while (reader.Read()) {
if (reader.IsStartElement()) {
// return only when you have START tag
switch (reader.Name.ToString()) {
case "Name":
Console.WriteLine("The Name of the Student is " + reader.ReadString());
break;
case "Grade":
Console.WriteLine("The Grade of the Student is " + reader.ReadString());
break;
}
}
Console.WriteLine("");
}
}
Console.ReadKey();
}
}
}
在这里,我们创建了一个 XmlReader
对象,然后使用 Create()
方法创建了给定 XML 文件的阅读器流。
然后,我们使用了 XmlReader.Read()
方法来读取 XML 文件。该方法返回一个 bool
值,该值指示我们创建的流是否包含 XML
语句。
之后,我们使用 XmlReader.IsStartElement()
方法检查是否有任何起始元素。因为我们在 XML 数据中有两个元素字段,所以我们使用了 switch
语句通过 ReadString()
方法从两个字段中读取数据。
输出:
The Name of the Student is Olivia
The Grade of the Student is A
The Name of the Student is Laura
The Grade of the Student is A+
The Name of the Student is Ben
The Grade of the Student is A-
The Name of the Student is Henry
The Grade of the Student is B
The Name of the Student is Monica
The Grade of the Student is B
相关文章
在 C# 中获取组合框的选定值
发布时间:2024/01/20 浏览次数:151 分类:编程语言
-
本教程展示了如何在 C# 中获取 ComboBox 的选定值。在本教程中,你将学习在 C# 中获取 ComboBox 的选定文本和值的不同方法。获取 ComboBox 控件的选定值的最常用方法是使用 C# 在按钮单击事件中获取
在 C# 中创建一个 UDP 服务器
发布时间:2024/01/20 浏览次数:158 分类:编程语言
-
在本文中,我们将学习如何在 C# 中创建 UDP 服务器。本文将展示如何在 C# 中创建一个简单的 UDP 服务器。在 C# 中创建一个 UDP 服务器
C# 中的 LINQ 分组
发布时间:2024/01/20 浏览次数:51 分类:编程语言
-
LINQ 中的 group by 用于按 C# 中的某个公共值对对象序列进行分组 C# 中的 LINQ 分组 LINQ 将类似 SQL 的查询功能与 C# 中的数据结构集成在一起。
使用 C# 在 LINQ 查询中按多列分组
发布时间:2024/01/20 浏览次数:167 分类:编程语言
-
这是一篇关于 LINQ 查询的使用以及我们如何使用 LINQ 查询按列分组的文章。本文简要介绍了使用 C# 进行的 LINQ 查询。此外,它还讨论了如何使用 LINQ 查询按多列对结果进行分组。
在 C# 中捕获多个异常
发布时间:2024/01/20 浏览次数:135 分类:编程语言
-
有两种主要方法可用于捕获 C# 中的多个异常,即 Exception 类和 catch 子句中的 if 语句。使用 C# 中的 Exception 类捕获多个异常 Exception 类用于表示 C# 中的一般异常。
C# 中为无效参数或参数引发的异常类型
发布时间:2024/01/20 浏览次数:71 分类:编程语言
-
本教程将教你如何在 C# 中为无效参数或参数抛出不同类型的异常。异常提供有关 C# 程序中的运行时错误或预期不会发生或违反系统/应用程序约束的条件的信息。在本教程中,你将学习与无效参