`

XML操作

    博客分类:
  • .Net
XML 
阅读更多
/*******************************************************************/

   //写入Xml 元素


   string xmlFilePath = this.Server.MapPath("BookStore.xml"); //Xml 文件路径

   XmlDocument xmlDoc = new XmlDocument();   //创建对象
   xmlDoc.Load(xmlFilePath);   //加载 XML 文件

   XmlNode xmlNode = xmlDoc.SelectSingleNode("bookstore"); //选择节点

   XmlElement xmlElem1 = xmlDoc.CreateElement("book"); //创建节点
   xmlElem1.SetAttribute("address", "1234123412342"); //设置节点的属性

   XmlElement xmlElem2 = xmlDoc.CreateElement("title"); //创建节点
   xmlElem2.InnerText = "TitleTest"; //在节点插入文本

   xmlElem1.AppendChild(xmlElem2);   //添加到节点中

   xmlElem2 = xmlDoc.CreateElement("author");
   xmlElem2.InnerText = "authorTest";

   xmlElem1.AppendChild(xmlElem2);

   xmlElem2 = xmlDoc.CreateElement("price");
   xmlElem2.InnerText = "priceTest";

   xmlElem1.AppendChild(xmlElem2);

   xmlNode.AppendChild(xmlElem1);

   xmlDoc.Save(xmlFilePath); //保存 XML 文件

   /******************************************************************/

/******************************************************************/

   //修改 Xml 元素
   string xmlFilePath = this.Server.MapPath("BookStore.xml"); //Xml 文件路路

   XmlDocument xmlDoc = new XmlDocument(); //创建对象
   xmlDoc.Load(xmlFilePath);

   XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes; //获取节点下的子节点列表

   foreach (XmlNode xn in xnl) //遍历所有节点 
   {
    XmlElement xe = (XmlElement)xn; //把节点转换为元素

    if (xe.GetAttribute("address") == "DelAll") //如果元素属性找到
    {
     xe.SetAttribute("address", "UpdateAbc"); //修改元素属性

     XmlNodeList xnl2 = xe.ChildNodes; //获取它的子节点

     foreach (XmlNode xn2 in xnl2)   //遍历所有学点
     {
      if (xn2.Name == "title") //如果找到
      {
       xn2.InnerText = "UpdateAuthor"; //修改文本;

       xmlDoc.Save(xmlFilePath);

       break; //退出
      }
     }

     break; //退出
    }
   }
   /******************************************************************/

/******************************************************************/

   //删除节点
   string xmlFilePath = this.Server.MapPath("BookStore.xml"); //Xml 文件路路

   XmlDocument xmlDoc = new XmlDocument();
   xmlDoc.Load(xmlFilePath);

   XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;

   int i = xnl.Count;

   while (--i > -1)
   {
    XmlElement xe = (XmlElement)xnl[i];

    if (xe.GetAttribute("address") == "Del")
     xe.ParentNode.RemoveChild(xe);

   }

   xmlDoc.Save(xmlFilePath);

   /******************************************************************/


   /******************************************************************/
   //读取 Xml
   string xmlFilePath = this.Server.MapPath("BookStore.xml"); //Xml 文件路路

   XmlDocument xmlDoc = new XmlDocument();
   xmlDoc.Load(xmlFilePath);

   XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;

   this.Response.Write("Address    Title");

   foreach (XmlNode xn in xnl)
   {
    XmlElement xe = (XmlElement)xn;

    this.Response.Write("<br/>" + xe.GetAttribute("address"));

    XmlNodeList xnl2 = xe.ChildNodes;

    foreach (XmlNode xn2 in xnl2)
    {

     this.Response.Write("&nbsp;&nbsp;&nbsp;&nbsp;" + xn2.InnerText);
    }

    //元素与节点的区别
    //XmlElement 元素,元素有自身的属性、子节点
    //XmlNode 节点,节点没有自身的属性、有子节点
    //区别就是,元素有自身的属性,但节点没有自身的属性,它们都可以有子节点,其它基本相同
   }
   /******************************************************************/

/******************************************************************/
   //创建 Xml 文件
   string xmlFilePath = this.Server.MapPath("Test.xml"); //Xml 文件路路
   XmlDocument xmlDoc = new XmlDocument(); //创建实例
   XmlNode xmlNode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", ""); //新建节点
   XmlElement xmlElem = xmlDoc.CreateElement("Test"); //新建元素

   xmlDoc.AppendChild(xmlNode); //添加节点
   xmlDoc.AppendChild(xmlElem); //添加元素


   xmlNode = xmlDoc.SelectSingleNode("Test"); //选择节点

   for (int i = 0; i < 3; i++)   //循环添加节点
   {
    xmlElem = xmlDoc.CreateElement("Test1"); //创建元素
    xmlElem.SetAttribute("name", "liuga");   //设置元素属性

    XmlElement xmlElem1 = xmlDoc.CreateElement("Test11"); //创建元素
    xmlElem1.InnerText = "Test111";   //设置文本

    xmlElem.AppendChild(xmlElem1); //添加元素

    xmlNode.AppendChild(xmlElem); //添加元素
   }

   xmlDoc.Save(xmlFilePath); //保存
   /******************************************************************/

/******************************************************************/
   string xmlFilePath = this.Server.MapPath("Test.xml"); //Xml 文件路路
   XmlTextReader xtr = new XmlTextReader(xmlFilePath);

   while (xtr.Read())
   {
    switch (xtr.NodeType)
    {
     case XmlNodeType.EndElement:
      if (xtr.Name == "Test1")
       this.Response.Write("<br/>");
      break;
     case XmlNodeType.Element:
      this.Response.Write(xtr.GetAttribute("name"));
      break;
     case XmlNodeType.Text:
      this.Response.Write(xtr.Value);
      break;
    }
   }  

   xtr.Close();
   /******************************************************************/
 

 

分享到:
评论

相关推荐

    xml操作xml操作xml操作xml操作xml操作

    这里提到的"xml操作xml操作xml操作xml操作xml操作"显然是指对XML文档进行读取、修改和创建的操作。 在给定的示例中,首先加载XML文档到`XmlDocument`对象,这是.NET框架中用于处理XML的标准类。通过`XmlDocument`的...

    基于tinyxml2的xml操作库再封装

    总结来说,"基于tinyxml2的xml操作库再封装"项目为C++开发者提供了一个高效、易用的XML处理工具,通过优化和扩展tinyxml2的功能,使得XML数据的处理变得更加直观和便捷。这将极大地提高开发效率,降低开发成本,尤其...

    基于QT封装的XML操作,显示类

    **基于QT封装的XML操作与显示类** 在软件开发中,XML(eXtensible Markup Language)作为一种数据交换和存储格式,广泛应用于不同系统间的数据交互。QT作为一个跨平台的C++图形用户界面应用程序框架,提供了对XML的...

    c#xml操作类

    本篇文章将深入探讨如何在C#中进行XML操作,主要基于提供的"XML操作类"的压缩包文件。 首先,XML操作类通常包含了读取、写入、解析和修改XML文档的一系列方法。在C#中,我们可以利用System.Xml命名空间下的类来实现...

    xml操作,内含源码

    以下是一些关于XML操作的关键知识点: 1. **XML基本结构**: - XML文档由元素(Element)组成,元素是XML的最基本单位,可以包含其他元素或文本。 - 元素以尖括号 `和 `&gt;` 包裹,如 `&lt;element&gt;`,并用 `/` 表示...

    java对xml操作的项目案例

    本项目案例“java对xml操作的项目案例”深入探讨了如何使用Java来读取、修改和写入XML文件。下面将详细阐述相关知识点。 一、Java与XML的交互 1. DOM解析器:Document Object Model (DOM) 是一种将整个XML文档加载...

    动态生成Rss文件 Xml操作 Xml文件的修改

    动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...

    asp.net操作xml 操作大全

    在提供的源码文件“Asp[1].net+操作XML+源码.rar”中,可能包含了具体的ASP.NET XML操作示例,包括如何创建XML文件、读取XML文件、更新XML节点以及删除XML节点的代码片段。而“WebSite2”可能是包含一个完整的Web...

    c++的xml操作类

    tinyxml,很好用的xml操作类,c++版,删除了乱七八糟的工程文件,用时include一下两个头文件即可。具体使用方法参考:http://blog.csdn.net/zhangrentian/archive/2010/01/15/5194875.aspx

    XML操作类(完整)

    XML操作类(完整)使用于C#领域,更好的操作XML文件

    c# 下xml操作类

    c#下操作xml文件类,方便调用操作。 xml操作日趋常见,xml格式相对规范,通过xml存储信息更加方法,采用该类可以方便操作。

    C# XML操作类库(加强版)

    最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...

    Xml操作类(C#)

    Xml操作类,项目中使用的,包含读取数据、插入数据、修改数据、删除数据 附带使用方法。

    xml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cn

    xml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cnxml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cnxml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百...

    xml操作类,xml操作类

    xml的所有操作.xml的所有操作.xml的所有操作.xml的所有操作.

    XML操作类XML操作类XML操作类

    XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类

    xml操作C#源码

    该代码主要实现了根据xml中定义的扩展字段Expand动态生成textbox,填写后更新xml的一个源码,包括xml的增删改查功能。算是比较全的一个xml操作源码了。主要是为了公司项目做的可行性研究,欢迎交流分享。

    asp.net 用xml操作word asp.net 用xml操作word

    asp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用...

    C#winform xml操作详解

    2. **C#中的XML操作库**:在C#中,我们主要使用System.Xml命名空间中的类来处理XML。主要包括XmlDocument、XmlNode、XmlElement等。XmlDocument是整个XML文档的容器,XmlNode是所有XML节点的基类,XmlElement表示...

    XML 操作及 源码

    以上就是关于XML操作的基本介绍,通过C#的`XmlDocument`、`XmlWriter`、`XmlNode`以及`DataSet`等类,我们可以方便地实现XML的读取、写入、更新和删除。理解这些概念和用法,将有助于在实际开发中更好地处理和利用...

Global site tag (gtag.js) - Google Analytics