【C# 读写XML文件】 XML(Extensible Markup Language)是一种结构化数据格式,广泛应用在数据交换、配置文件和存储轻量级数据中。C#提供了丰富的类库来支持XML的处理,使得程序员可以方便地进行XML的读取和写入操作。 **写XML文件** 在C#中,`System.Xml`命名空间提供了`XmlTextWriter`类用于写入XML文件。`XmlTextWriter`是一个流式写入器,可以将XML数据写入到一个流或者文本文件中。以下是一些关键的方法: 1. **WriteStartDocument**: 这个方法用于写入XML声明,如`<?xml version="1.0"?>`,默认版本为1.0。 2. **WriteEndDocument**: 用于关闭当前打开的元素或属性,确保XML文档完整。 3. **Close**: 关闭流并释放资源。 4. **WriteDocType**: 写入DOCTYPE声明,例如`<!DOCTYPE ...>`。 5. **WriteStartElement**: 开始写入一个XML元素,如`<element>`。 6. **WriteEndElement**: 结束当前元素,如`</element>`。 7. **WriteFullEndElement**: 类似于WriteEndElement,但始终写入完整的结束标签,即使没有内容。 8. **WriteElementString**: 写入包含字符串值的元素,如`<element>value</element>`。 9. **WriteStartAttribute**: 开始写入一个属性,如`attribute=`。 10. **WriteEndAttribute**: 关闭属性写入。 11. **WriteRaw**: 手动书写原始XML标记,不受编码影响。 12. **WriteString**: 写入纯文本字符串。 13. **WriteAttributeString**: 写入具有指定值的属性,如`attribute="value"`。 14. **WriteCData**: 写入CDATA块,如`<![CDATA[content]]>`。 15. **WriteComment**: 写入注释,如`<!-- comment -->`。 16. **WriteWhitespace**: 写入空白字符,如换行、空格等。 17. **WriteProcessingInstruction**: 写入处理指令,如`<?instruction text?>`。 以下是一个使用`XmlTextWriter`写入XML文件的示例: ```csharp using System; using System.IO; using System.Xml; public class Sample { public static void Main() { using (XmlTextWriter writer = new XmlTextWriter("titles.xml", null)) { // 写入根元素 writer.WriteStartElement("items"); // 加入子元素 writer.WriteElementString("title", "Unreal Tournament 2003"); writer.WriteElementString("title", "C&C: Renegade"); writer.WriteElementString("title", "Dr. Seuss's ABC"); // 关闭根元素 writer.WriteEndElement(); // 写入XML并关闭写入器 writer.Flush(); } } } ``` 在这个例子中,我们创建了一个名为`titles.xml`的文件,包含一个`items`元素,其下有三个`title`子元素。`WriteElementString`方法接受两个参数,分别代表元素名称和元素值。 **读XML文件** 读取XML文件时,可以使用`XmlTextReader`类。`XmlTextReader`是逐节点读取,每次移动到下一个节点时,可以获取当前节点的信息。然而,在.NET Framework 4.0及更高版本中,推荐使用更强大的`XDocument`或`XmlDocument`类来解析XML。 1. **XDocument**: `XDocument.Load()`方法可以加载XML文件,提供LINQ查询支持,便于解析和操作XML。 2. **XmlDocument**: `XmlDocument.Load()`方法加载XML文件,提供DOM模型,可以查找、修改和保存XML数据。 例如,使用`XDocument`读取XML文件: ```csharp using System; using System.IO; using System.Linq; using System.Xml.Linq; public class Sample { public static void Main() { XDocument doc = XDocument.Load("titles.xml"); foreach (var title in doc.Descendants("title")) { Console.WriteLine(title.Value); } } } ``` 这将遍历`titles.xml`中的所有`title`元素,并打印它们的值。 总结来说,C#通过`XmlTextWriter`提供了简便的API来写入XML文件,而`XmlTextReader`、`XDocument`和`XmlDocument`则用于读取和处理XML数据。这些类为开发者提供了强大的工具,使得在C#中处理XML变得简单易行。在实际开发中,根据需求选择合适的API可以提高效率并确保XML数据处理的准确性。































剩余10页未读,继续阅读


- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 集成 Apollo 配置中心实现数据库、MongoDB、Redis 动态切换及 MyBatis 与 Redis 缓存集成
- 轻量型文件数据采集抓取与日志信息汇总工具
- 使用DriveMonitor软件调试MM440变频器
- 使用starter调试MM440
- 基于Python语言的Spark数据处理分析案例集锦(PySpark)
- CCKS’2021 研究:SGSum- 面向体育赛事摘要的人工标注数据集介绍
- PHP与MySQL动态网站设计实战指南
- 基于 MapReduce 的大数据采集清洗处理及离线分析完整案例
- 《Rust并发编程:解锁高性能系统的密钥》,详细介绍Rust并发编程的基础知识及其在高性能系统开发中的应用
- 轻量型文件数据采集抓取及日志信息汇总工具
- 使用 YOLO 检测废弃行李 该项目旨在通过使用实时视频源和 YOLO(You Only Look Once)物体检测算法自动检测无人看管或遗弃的行李来提高公共交通安全
- 用户为中心的设计:系统设计师必读
- 大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例
- 3089048582变压器测试仪 快速操作指南(第一版).pdf
- HDFS 集群之间的数据相互交换方式
- easy prism - 安卓平台便捷好用的埋点数据收集中间件


