C# XML操作:增删查改实战示例
4星 · 超过85%的资源 需积分: 9 160 浏览量
更新于2024-10-07
收藏 68KB DOC 举报
"C# XML 增删查改实例"
在C#编程中,XML(eXtensible Markup Language)是一种常用的数据存储和交换格式,具有良好的结构化和易于处理的特点。本实例主要讲解如何使用C#进行XML文档的增、删、查、改操作。以下将详细阐述这些操作的具体实现。
首先,为了处理XML,我们需要引入`System.Xml`命名空间。在提供的代码中,可以看到一系列的`using`语句,确保了我们能访问到如`XmlDocument`和`XmlNode`等处理XML的关键类。
1. 插入节点:
在`button1_Click`事件处理函数中,我们看到了插入XML节点的过程。首先,通过`Load`方法加载本地的XML文件到`XmlDocument`对象`xmlDoc`中。接着,使用`SelectSingleNode`方法找到`bookstore`节点。然后,创建一个新的`book`元素节点`xe1`,并设置其属性`genre`和`ISBN`。再创建子节点`title`,设置其文本内容为“CS从入门到精通”,并将其添加到`book`节点下。最后,将`book`节点添加到`bookstore`节点的子节点列表末尾,完成插入操作。
```csharp
// 创建新的book节点
XmlElement xe1 = xmlDoc.CreateElement("book");
xe1.SetAttribute("genre", "李赞红");
xe1.SetAttribute("ISBN", "2-3631-4");
// 创建title子节点
XmlElement xesub1 = xmlDoc.CreateElement("title");
xesub1.InnerText = "CS从入门到精通";
// 将title子节点添加到book节点
xe1.AppendChild(xesub1);
// 将book节点添加到bookstore节点
root.AppendChild(xe1);
```
2. 删除节点:
删除XML节点通常涉及找到要删除的节点,然后调用`RemoveChild`方法。例如,如果要删除刚才插入的`book`节点,可以这样操作:
```csharp
XmlNode nodeToRemove = xmlDoc.SelectSingleNode("//book[genre='李赞红']");
if (nodeToRemove != null)
{
nodeToRemove.ParentNode.RemoveChild(nodeToRemove);
}
```
3. 查询节点:
查询XML节点可以使用XPath表达式。XPath是一种语言,用于在XML文档中找到信息。例如,以下代码查询所有`title`节点:
```csharp
XmlNodeList titles = xmlDoc.SelectNodes("//title");
foreach (XmlNode title in titles)
{
Console.WriteLine(title.InnerText);
}
```
4. 修改节点:
要修改XML节点,首先找到该节点,然后更改其属性或文本内容。以下代码将`genre`属性的值更改为“李赞红2”:
```csharp
XmlNode bookNode = xmlDoc.SelectSingleNode("//book[genre='李赞红']");
if (bookNode != null)
{
bookNode.Attributes["genre"].Value = "李赞红2";
}
```
总结来说,C#中的XML处理涉及到`XmlDocument`类以及相关节点类,它们提供了丰富的API来操作XML文档。通过创建、查找、修改和删除节点,可以方便地管理XML数据。在实际项目中,理解并熟练运用这些操作对处理XML数据至关重要。
2015-02-02 上传
点击了解资源详情
2019-01-28 上传
2013-12-20 上传
2012-12-03 上传
2020-08-18 上传
2010-09-06 上传
2007-07-11 上传
hebutliu
- 粉丝: 9
- 资源: 70
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜