下面是关于 "C# 读写XML文件实例代码" 的完整攻略:
1. 简介
XML 是一种被广泛使用的数据交换格式,而 .NET Framework 提供了许多操作 XML 的类和方法。在 C# 中读写 XML 文件非常容易,只需要几行代码就可以完成任务。本文将介绍如何使用 C# 读写 XML 文件及示例代码。
2. 准备工作
在开始之前,需要确保您的开发环境中已经安装了 .NET Framework,并且您了解如何使用 Visual Studio 编写 C# 代码。
3. 读取 XML 文件
在 C# 中读取 XML 文件使用 XmlReader 类,该类提供了一种以流模式读取 XML 数据和子元素的方式。下面是一个读取 XML 文件的示例:
using System.Xml;
// 创建 XmlReaderSettings 对象,用于配置 XmlReader 的属性
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true; // 忽略空白字符
// 以流模式打开 XML 文件,并且使用 XmlReaderSettings 指定的属性
using (XmlReader reader = XmlReader.Create("example.xml", settings))
{
// 如果存在下一个元素,就读取当前元素及其所有包含的元素
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element) // 判断节点类型是否为元素
{
Console.WriteLine(reader.Name); // 输出元素名
}
}
}
如上述代码所示,首先需要创建一个 XmlReaderSettings 对象,并且指定一些属性,例如 IgnoreWhitespace,该属性指定是否忽略空白字符。
然后使用 XmlReader.Create 方法打开 XML 文件,并使用前面创建的 XmlReaderSettings 对象进行设置。接下来在 while 循环中读取 XML 文件的元素,利用 XmlNodeType 属性判断目前所读取节点的类型是否为元素。最后使用 reader.Name 输出元素名。
4. 写入 XML 文件
同样,在 C# 中写入 XML 文件也非常容易,只需要使用 XmlWriter 类即可。XmlWriter 类提供了一种以流模式写入 XML 数据和子元素的方式。下面是一个写入 XML 文件的示例代码:
using System.Xml;
// 创建 XmlWriterSettings 对象,用于配置 XmlWriter 的属性
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true; // 缩进
// 以流模式创建 XML 文件,并使用 XmlWriterSettings 指定的属性
using (XmlWriter writer = XmlWriter.Create("example.xml", settings))
{
// 开始写入 XML 文件内容
writer.WriteStartElement("bookstore"); // 写入根元素
writer.WriteStartElement("book"); // 写入子元素
writer.WriteAttributeString("isbn", "1416542744"); // 添加属性
writer.WriteElementString("title", "The Da Vinci Code"); // 写入子元素内容
writer.WriteElementString("author", "Dan Brown");
writer.WriteEndElement(); // 关闭子元素
writer.WriteEndElement(); // 关闭根元素
writer.Flush(); // 刷新缓冲区并且将数据写入 XML 文件
}
上述代码以流模式创建 XML 文件,并使用 XmlWriterSettings 指定一些属性,例如 Indent,该属性指定是否进行缩进。接下来开始写入 XML 文件内容,在使用 WriteStartElement 方法写入根元素和子元素之后,我们可以使用 WriteAttributeString 方法添加元素的属性,使用 WriteElementString 方法写入元素的内容,并在结束时使用 WriteEndElement 方法来关闭这些元素。
最后需要使用 Flush 方法刷新缓冲区并将文件写入磁盘。
5. 示例
以下是一个 XML 文件的实例:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.99</price>
</book>
</bookstore>
我们可以使用上述读取 XML 文件的代码来读取它:
using System.Xml;
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
using (XmlReader reader = XmlReader.Create("example.xml", settings))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "title")
{
Console.WriteLine(reader.ReadElementContentAsString()); // 输出当前元素的文本内容
}
}
}
以上代码输出了 XML 文件中所有 title 元素的文本内容,对应实例文件中的三个 title 元素,输出如下:
Everyday Italian
Harry Potter
Learning XML
而 XML 文件的写入示例在前面已经介绍过了,在此不再赘述。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 读写XML文件实例代码 - Python技术站