
C#操作XML文件:读取与写入技巧
下载需积分: 10 | 3KB |
更新于2024-09-12
| 122 浏览量 | 2 评论 | 举报
收藏
"C#读写XML文件"
在C#编程中,XML(Extensible Markup Language)文件是一种常用的数据存储和交换格式。它结构清晰,易于人和机器解析,因此在许多应用程序中都有应用。本篇将介绍如何使用C#的几个核心类来读取和写入XML文件。
首先,我们可以使用`XmlDocument`类来读取和修改XML文件。`XmlDocument`提供了加载XML文档到内存中的功能,并且可以进行DOM(Document Object Model)操作,允许我们像处理DOM树一样操作XML数据。
在提供的示例代码中,有一个名为`phone.xml`的XML文件,包含了一个电话簿的结构,每个电话记录由`<phone>`元素表示,包含`<Name>`、`<Number>`、`<City>`和`<DateOfBirth>`子元素。以下是如何使用`XmlDocument`读取和写入XML文件的方法:
```csharp
private void xmlFun()
{
XmlDocument doc = new XmlDocument();
// 加载XML文件
doc.Load(Server.MapPath("phone.xml"));
// 创建新的电话记录元素
XmlElement node = doc.CreateElement("phone");
// 添加属性
XmlAttribute atr = doc.CreateAttribute("id");
atr.InnerText = "003";
node.Attributes.Append(atr);
// 添加子元素
XmlNode xnode = (XmlNode)doc.CreateElement("Name");
xnode.InnerText = "testName";
node.AppendChild(xnode);
xnode = (XmlNode)doc.CreateElement("Number");
xnode.InnerText = "119";
node.AppendChild(xnode);
xnode = (XmlNode)doc.CreateElement("City");
xnode.InnerText = "cs";
node.AppendChild(xnode);
// 将新元素添加到XML文档中
doc.DocumentElement.AppendChild(node);
// 保存修改后的XML文件
doc.Save(Server.MapPath("phone.xml"));
}
```
这段代码首先创建了一个`XmlDocument`对象并加载了`phone.xml`文件。然后,通过`CreateElement`方法创建了一个新的`phone`元素,并设置了其`id`属性。接着,创建了`Name`、`Number`和`City`子元素,并分别设置了它们的文本内容。最后,将新创建的`phone`元素添加到XML文档的根元素(`PhoneBook`)下,并保存修改后的文档。
除了`XmlDocument`,还有其他类可以用于XML文件的读写。例如,`XmlTextWriter`用于写入XML,它提供了一种流式写入的方式,可以更有效地处理大型XML文件。`XmlTextReader`则用于读取XML,它以只进不退的方式逐节点读取,适合用于读取大文件或网络流。
另外,`SqlCommand.ExecuteXmlReader()`方法在数据库操作中用于执行返回XML结果集的SQL查询。这个方法通常在需要从数据库检索XML格式数据时使用,例如,当查询结果是一个复杂的数据结构,可以以XML形式返回时。
C#提供了丰富的XML处理库,包括`XmlDocument`、`XmlTextWriter`、`XmlTextReader`等,可以满足不同场景下的XML读写需求。理解并熟练掌握这些工具,对于开发涉及XML数据处理的应用程序至关重要。
相关推荐















资源评论

maXZero
2025.04.27
该文档资源对初学者和经验丰富的开发者都十分有用,内容全面涵盖了C#对XML的读写操作。

贼仙呐
2025.04.04
这份文档详细介绍了C#中操作XML文件的方法,适合需要在.NET环境中处理XML数据的开发者参考学习。

liucbpro
- 粉丝: 0
最新资源
- iOS 11.1 开发者磁盘映像与真机测试路径解析
- DocumentViewer实现附件上传与在线文档预览
- CMake 3.10.0 Win64版本下载与安装指南
- R语言微博数据采集工具RWEIBO详解
- 酷派手机刷新工具:Coolpad CDS_Setup_V4.57_客服版本
- Web调用OCX控件的简易实现方法
- 深入Oracle JDBC驱动包:掌握ojdbc6.jar使用技巧
- Linux 64位系统下的GCC-4.4.3编译器安装指南
- 程序流程图绘制与执行的画图板工具
- HTML5性能优化:从基础到实战
- Virgo服务器Tomcat版本升级至3.7.2.RELEASE
- CentOS7下利用脚本实现Git的一键离线安装
- 深入理解Linux设备驱动程序开发源码解析
- JDK1.6-win64bit版本官方下载指南
- SSH协议的安全性与应用解析
- nRF51822与LIS3DH传感器SPI通信代码实现
- Mac系统下高效进行APK文件反编译的工具介绍
- Apache Tomcat 8.5.8 for Windows x64下载安装指南
- 韩顺平讲授学生管理系统JDBC实现代码详解
- C语言实现HTTP Post请求与Json数据交互
- 掌握Java Web开发:源码示例与jar文件配置指南
- 全面性能测试工具:UI/monkey脚本及数据保存功能
- 智能化数据处理工具:掘金1.2.2版深度解析
- 实现ASP.NET WebApi跨域请求的详细教程