`

C#对XML的CRUD操作点滴

    博客分类:
  • C#
阅读更多
用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过程。

已知有一个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);//显示子节点点文本
    }
   } 


XmlDocument xmlDoc=new XmlDocument();
   xmlDoc.Load("c:/aaa.xml");
   XmlNode xn=xmlDoc.SelectSingleNode("todate");
   XmlNodeList xnl=xn.ChildNodes;
   foreach(XmlNode xnf in xnl)
   {
    XmlElement xe=(XmlElement)xnf;
 
    XmlNodeList xnf1=xe.ChildNodes;
    
    Response.Write(xnf1[0].InnerText);//显示子节点点文本
   } 

   XmlDocument xmlDoc=new XmlDocument();
   xmlDoc.Load("c:/aaa.xml");
   XmlNode xn=xmlDoc.SelectSingleNode("todate");
   XmlNodeList xnl=xn.ChildNodes;
   foreach(XmlNode xnf in xnl)
   {
    XmlElement xe=(XmlElement)xnf;
 
    XmlNodeList xnf1=xe.ChildNodes;
    
    xnf1[0].InnerText="10";
    xmlDoc.Save("c:/aaa.xml");


转载自:http://blog.csdn.net/s98/archive/2004/10/17/140307.aspx
分享到:
评论

相关推荐

    xml文件操作详解crud操作

    在IT行业中,XML文件的操作是必不可少的技能,特别是CRUD(Create, Read, Update, Delete)操作,即创建、读取、更新和删除XML文件中的数据。下面将详细讲解XML文件的CRUD操作。 1. **创建(Create)** 创建XML...

    C#操作XML完整demo

    `CRUD`可能对应数据访问层,实现了创建(Create)、读取(Read)、更新(Update)和删除(Delete)XML文件的基本操作。 在C#中,读取XML文件通常使用`XmlDocument`的`Load()`方法,然后通过遍历XML树来获取或修改...

    C#用VS实现CRUD操作(作业).zip

    在本项目"C#用VS实现CRUD操作(作业)"中,我们将探讨如何使用Microsoft Visual Studio(VS)作为集成开发环境(IDE),结合C#语言来实现数据库的基本 CRUD(Create, Read, Update, Delete)操作。CRUD是任何数据...

    使用Spring Boot 整合 Mybatis 以 xml 形式进行CRUD操作

    基础的Spring Boot整合Mybatis,基于xml的方式实现对数据库资料进行CRUD的操作,数据库手动添加,此为源码jar包,导入就可使用

    jsp+xml的CRUD操作

    **JSP+XML进行CRUD操作详解** 在Web开发中,JSP(JavaServer Pages)和XML(eXtensible Markup Language)是两种常见的技术,它们可以协同工作以实现动态网页内容的创建和数据管理。本篇将深入探讨如何利用JSP和XML...

    c# + access(crud)例子

    通过这个例子,你可以学习到如何使用C#和ADO.NET来实现对Access数据库的基本CRUD操作。这将为你的项目提供基础,让你能够构建更复杂的数据库应用程序。在实际项目中,你可能还需要考虑其他方面,比如用户界面、安全...

    利用C#于myqsl完成的简单CRUD

    本示例着重讲解如何使用C#语言与MySQL数据库进行基本的创建(Create)、读取(Read)、更新(Update)和删除(Delete),即CRUD操作。这对于初学者来说是一条很好的学习路径,因为C#的.NET框架提供了丰富的库来支持...

    C#_mySQL CRUD.rar

    在本项目"C#_mySQL CRUD.rar"中,开发者展示了如何使用C#编程语言和WinForm界面设计工具来实现对MySQL数据库的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete),简称CRUD。以下是关于...

    Dom4j实现xml的CRUD

    例如,可以创建一个Servlet来处理用户对XML数据的操作,如CRUD。Servlet接收HTTP请求,根据请求参数执行相应的DOM4j操作,然后返回结果或重定向到新的页面。 ```java @WebServlet("/UserManage") public class ...

    C#与XML整合大全

    4. **C#XML图示借阅系统.rar**:这是一个实际的项目,展示了如何在C#中利用XML实现图书借阅系统的数据管理。开发者可以通过分析这个项目,学习如何将XML作为数据库存储数据,并进行CRUD(创建、读取、更新、删除)...

    用c#编写的XML数据库

    在本项目中,开发者通过C#编写程序,实现了对XML数据进行类似于SQL数据库的CRUD(创建、读取、更新、删除)操作。 描述中提到,用户可以调用特定的方法,将SQL语句传递给系统,然后系统会解析并执行这些针对XML的...

    Hibernate与JDBC对于数据库CRUD操作性能示例

    Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源

    基于xml的管理系统(c#)

    2. 数据操作:实现CRUD(创建、读取、更新、删除)功能,通过XML读写操作完成数据的增删改查。 3. 界面设计:创建用户友好的界面,如表格展示数据,表单输入新数据,按钮触发操作等。 4. 错误处理和异常捕获:确保...

    CRUD(c#)

    学习C#的CRUD操作对任何想从事后端开发的人来说都是至关重要的,因为这是与数据库交互的基础。理解这些基本操作能让你更好地设计和实现数据驱动的应用程序。同时,了解如何安全地处理这些操作,如防止SQL注入和确保...

    基于SSM框架的简单CRUD操作

    5. **Mapper接口及XML文件**:定义Mapper接口,其中包含CRUD操作的方法签名。在Mapper的XML文件中编写具体的SQL语句,通过MyBatis的注解或元素与接口方法关联。 6. **DAO实现**:创建Mapper接口的实现类,并使用...

    C# asp.net 以XML为数据库操作的类

    这个“C# ASP.NET以XML为数据库操作的类”可能是一个自定义的类库,它允许开发者使用XML文件作为数据库来执行常见的数据操作,如创建、删除表,以及增删改查(CRUD)操作。下面将详细讲解这一主题的相关知识点。 1....

    C# ASP.NET CRUD(三层)

    在IT行业中,C# ASP.NET框架是用于构建Web应用程序的常用工具,特别是在企业级应用...通过分析和学习这些代码,你可以更好地理解如何在实际项目中应用C# ASP.NET的三层架构以及ObjectDataSource和GridView的CRUD操作。

    AspCrud:使用Asp.net MVC C#的基本CRUD操作

    在本文中,我们将深入探讨如何使用Asp.Net MVC C#实现这些CRUD操作,并了解其背后的关键技术。 首先,Asp.Net MVC是一种模型-视图-控制器(Model-View-Controller)架构模式,它将应用程序分为三个主要部分,以便更...

    Hibernate基本增删改CRUD操作

    **Hibernate基本增删改CRUD操作** 在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者无需直接编写SQL语句,就能实现对象与关系数据库之间的映射。本教程将深入讲解如何使用...

    php-xml-crud.zip

    以上就是使用PHP的SimpleXML库对XML文件进行CRUD操作的基本步骤。在实际开发中,可能还需要考虑错误处理、数据验证等细节。掌握这些基本操作,可以帮助你更高效地处理XML数据,特别是在PHP环境中。在项目...

Global site tag (gtag.js) - Google Analytics