已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
</bookstore> 1、往<bookstore>节点中插入一个<book>节点:
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
xe1.SetAttribute("genre","陶维佳");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从入门到精通";//设置文本节点
xe1.AppendChild(xesub1);//添加到<book>节点中
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);//添加到<bookstore>节点中
xmlDoc.Save("bookstore.xml");
结果为:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre="陶维佳" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>张三</author>
<price>58.3</price>
</book>
</bookstore>
2、修改节点:将genre属性值为“陶维佳”的节点的genre值改为“update陶维佳”,将该节点的子节点<author>的文本修改为“比尔盖茨”。
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="陶维佳")//如果genre属性值为“陶维佳”
{
xe.SetAttribute("genre","update陶维佳");//则修改该属性为“update陶维佳”
XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNode xn1 in nls)//遍历
{
XmlElement xe2=(XmlElement)xn1;//转换类型
if(xe2.Name=="author")//如果找到
{
xe2.InnerText="比尔盖茨";//则修改
break;//找到退出来就可以了
}
}
break;
}
}
xmlDoc.Save("bookstore.xml");//保存。最后结果为:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre="update陶维佳" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>比尔盖茨</author>
<price>58.3</price>
</book>
</bookstore>
3、删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update陶维佳" ISBN="2-3631-4">节点。
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre");//删除genre属性
}
else if(xe.GetAttribute("genre")=="update陶维佳")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bookstore.xml");
最后结果为:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bookstore>
4、显示所有数据。
XmlNode xn=xmlDoc.SelectSingleNode("bookstore");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeList xnf1=xe.ChildNodes;
foreach(XmlNode xn2 in xnf1)
{
Console.WriteLine(xn2.InnerText);//显示子节点点文本
}
}
分享到:
相关推荐
"可添加删除修改xml节点"则意味着我们需要具备对DOM树进行操作的能力。添加节点涉及创建新的DOM节点,并将其插入到适当的位置;删除节点则需要找到目标节点并从树中移除;修改节点则包括改变节点的属性或文本内容。...
功能:删除当前节点的所有子节点,当前节点不删除 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteAllSon(); /*************************************** ...
在处理XML数据时,QT提供了一套完善的API,使得开发者能够方便地对XML文档进行创建、读取、修改和删除等操作。本教程将围绕"QT对XML的增删查改读取,节点自定义,键值自定义"这一主题,详细介绍如何利用QT库来处理...
本文将深入探讨如何在.NET中对XML节点进行插入、删除和修改的操作,这将帮助开发者更好地理解和掌握XML文档的动态管理。 ### 一、XML节点的插入 在.NET中,我们可以使用`System.Xml`命名空间下的类来实现XML节点的...
#### 二、读取XML节点数据 **1. 加载XML文档** 要开始读取XML文件,首先需要加载文件到`XmlDocument`对象中: ```csharp string filename = Server.MapPath("/") + @"WebApplication1\web.config"; XmlDocument ...
Qt5是一个强大的跨平台应用程序开发框架,它提供了丰富的API来支持XML处理,包括解析、创建、修改和查询XML文档。本篇文章将深入探讨Qt5如何使用DOM(Document Object Model)模型来操作XML文件,实现增、删、改、查...
在给定的代码片段中,可以看到一系列关于XML节点操作的方法,包括查询所有节点、删除子节点、添加子节点以及更新子节点。下面分别对这些方法进行详细解析。 ##### 1. 查询所有节点(`selectAllNodes()`) - **创建...
本篇将详细讲解如何使用C#进行XML的操作,包括添加节点、修改节点、删除节点以及XML与GridView之间的交互。 首先,我们关注的是XMLOperator.cs这个文件,它是一个专门处理XML操作的类。此类通常会包含一系列的方法...
C#中操作xml文件(插入节点、修改、删除).htmC#中操作xml文件(插入节点、修改、删除).htmC#中操作xml文件(插入节点、修改、删除).htmC#中操作xml文件(插入节点、修改、删除).htmC#中操作xml文件(插入节点、...
功能:删除当前节点的所有子节点,当前节点不删除 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteAllSon(); /*************************************** ...
### 删除XML节点 删除节点时,我们需要先找到要删除的节点,然后调用`RemoveChild`方法。例如: ```csharp // 找到要删除的节点 XmlNode nodeToDelete = xmlDoc.SelectSingleNode("//NodeToBeDeleted"); if ...
### 对于XML节点的详细操作 #### XML简介与应用场景 XML(Extensible Markup Language)是一种标记语言,类似于HTML,但其目的和结构不同。XML旨在存储和传输数据,并且注重数据的内容,而不是如何显示这些数据。它...
以上就是实现“读取XML文件并在TreeView上显示并添加修改删除节点”的主要技术要点。这个功能可以帮助用户直观地管理XML数据,提高数据操作的效率。通过熟练掌握这些知识点,开发者可以构建出更加灵活、易用的XML...
4. **XmlNodeList**: 用来存储一系列XmlNode对象,通常用于遍历XML节点。 要**增加节点**,我们先创建一个新的XmlElement对象,然后通过`AppendChild`或`InsertAfter`等方法将其添加到父节点中。例如,向上面的XML...
这些操作包括加载 XML 文件、添加节点及其属性、修改现有节点及其内容以及删除节点。这些基本操作构成了处理 XML 文件的基础,并且是开发中不可或缺的一部分。通过理解这些概念和技术,开发人员可以更加高效地管理 ...
总之,XML操作涉及创建、添加、查询和修改XML节点,理解XML的基本结构和相关API是关键。在编程实践中,熟练运用这些技能能够帮助我们有效地处理XML数据。为了深入学习,可以参考相关的教程、书籍或在线资源,不断...
在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除元素以及获取元素节点。 1. **添加元素节点** 在DOM4J中,添加元素节点通常涉及创建一个新的`Element`对象,然后将其...
换句话说:XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。 模块简介: 1、XMLDOMDocument类: XML对象文档 ->操作创建或读写(元素、节点、属性、注释)等 2、IXMLDOMNode类:每个元素或节点基本都会有的...
在处理SOAP XML报文时,我们可能遇到一些规范性问题,例如节点首字母大小写的转换,以及节点命名空间前缀的添加与剔除。本文将深入探讨这些问题,并提供相应的解决方案。 首先,关于SOAP XML报文中的节点首字母大小...
5. 操作节点:找到目标节点后,可以进行各种操作,如修改属性值、添加子节点、删除节点等。例如,要修改属性值: ```csharp XmlAttribute attr = targetElement.Attributes["attributeName"]; attr.Value = ...