C#中XML文件的增删改插操作详解
需积分: 50 40 浏览量
更新于2024-09-15
收藏 39KB DOC 举报
在C#中对XML文件进行修改、新增、删除和插入操作是常见的任务,特别是在处理配置文件或数据持久化时。以下是如何使用 XmlDocument 类来实现这些操作的步骤,以 bookstore.xml 文件为例:
首先,我们需要创建一个 XmlDocument 对象来加载并处理 XML 文档:
```csharp
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml");
```
1. 修改现有节点:如果你想更改已有节点的内容,可以先通过 XPath 选择器找到该节点,然后更新其属性或文本值。例如,如果要将 `<title>` 节点的文本改为 "C#编程艺术",可以这样操作:
```csharp
XmlNode titleNode = xmlDoc.SelectSingleNode("//title[@title='Oberon'sLegacy']");
if (titleNode != null)
{
titleNode.InnerText = "C#编程艺术";
}
```
2. 新增节点:如你提供的示例,为了在 `<bookstore>` 节点下添加一个新书节点,首先要找到 `<bookstore>`,然后创建新的 `<book>` 元素,并设置属性和子元素:
```csharp
XmlNode root = xmlDoc.SelectSingleNode("bookstore");
XmlElement xe1 = xmlDoc.CreateElement("book");
xe1.SetAttribute("genre", "科幻"); // 替换为 "李赞红" 如果需要
xe1.SetAttribute("ISBN", "2-3631-4");
XmlElement xesub1 = xmlDoc.CreateElement("title");
xesub1.InnerText = "C#编程艺术";
xe1.AppendChild(xesub1);
XmlElement xesub2 = xmlDoc.CreateElement("author");
xesub2.InnerText = "候捷";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("price");
xesub3.InnerText = "58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);
```
3. 删除节点:如果你想删除某个节点,同样需要先找到它,然后调用 `RemoveChild()` 方法。例如,要删除具有特定 ISBN 的书:
```csharp
XmlNode bookToRemove = xmlDoc.SelectSingleNode("//book[ISBN='2-3631-4']");
if (bookToRemove != null)
{
root.RemoveChild(bookToRemove);
}
```
4. 保存文档:完成所有修改后,别忘了调用 `Save()` 方法将更改写回原文件:
```csharp
xmlDoc.Save("bookstore.xml");
```
以上就是如何在 C# 中通过 XmlDocument 对 XML 文件进行修改、新增、删除和插入操作的基本流程。请注意,实际应用中可能还需要处理异常和错误,确保操作成功。同时,XPath 选择器提供了灵活的查询能力,可根据具体需求进行更复杂的节点定位和操作。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2011-06-23 上传
2022-09-24 上传
点击了解资源详情
2014-10-31 上传
2010-12-20 上传
404 浏览量
ght844494008
- 粉丝: 0
- 资源: 4
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率