XML操作类

  public class XmlControl

  {

  protected string strXmlFile;

  protected XmlDocument objXmlDoc = new XmlDocument();

  public XmlControl(string XmlFile)

  {

  //

  // TODO: 在这里加入建构函式的程序代码

  //

  try

  {

  objXmlDoc.Load(XmlFile);

  }

  catch (System.Exception ex)

  {

  throw ex;

  }

  strXmlFile = XmlFile;

  }

  public DataView GetData(string XmlPathNode)

  {

  //查找数据。返回一个DataView

  DataSet ds = new DataSet();

  StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);

  ds.ReadXml(read);

  return ds.Tables[0].DefaultView;

  }

  public void Replace(string XmlPathNode,string Content)

  {

  //更新节点内容。

  objXmlDoc.SelectSingleNode(XmlPathNode).InnerText = Content;

  }

  public void Delete(string Node)

  {

  //删除一个节点。

  string mainNode = Node.Substring(0,Node.LastIndexOf("/"));

  objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));

  }

  public void InsertNode(string MainNode,string ChildNode,string Element,string Content)

  {

  //插入一节点和此节点的一子节点。

  XmlNode objRootNode = objXmlDoc.SelectSingleNode(MainNode);

  XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);

  objRootNode.AppendChild(objChildNode);

  XmlElement objElement = objXmlDoc.CreateElement(Element);

  objElement.InnerText = Content;

  objChildNode.AppendChild(objElement);

  }

  public void InsertElement(string MainNode,string Element,string Attrib,string AttribContent,string Content)

  {

  //插入一个节点,带一属性。

  XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);

  XmlElement objElement = objXmlDoc.CreateElement(Element);

  objElement.SetAttribute(Attrib,AttribContent);

  objElement.InnerText = Content;

  objNode.AppendChild(objElement);

  }

  public void InsertElement(string MainNode,string Element,string Content)

  {

  //插入一个节点,不带属性。

  XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);

  XmlElement objElement = objXmlDoc.CreateElement(Element);

  objElement.InnerText = Content;

  objNode.AppendChild(objElement);

  }

  public void Save()

  {

  //保存文檔。

  try

  {

  objXmlDoc.Save(strXmlFile);

  }

  catch (System.Exception ex)

  {

  throw ex;

  }

  objXmlDoc = null;

  }

  }

  =========================================================

  实例应用:

  string strXmlFile = Server.MapPath("TestXml.xml");

  XmlControl xmlTool = new XmlControl(strXmlFile);

  // 数据显视

  // dgList.DataSource = xmlTool.GetData("Book/Authors[ISBN=/"0002/"]");

  // dgList.DataBind();

  // 更新元素内容

  // xmlTool.Replace("Book/Authors[ISBN=/"0002/"]/Content","ppppppp");

  // xmlTool.Save();

  // 添加一个新节点

  // xmlTool.InsertNode("Book","Author","ISBN","0004");

  // xmlTool.InsertElement("Book/Author[ISBN=/"0004/"]","Content","aaaaaaaaa");

  // xmlTool.InsertElement("Book/Author[ISBN=/"0004/"]","Title","Sex","man","iiiiiiii");

  // xmlTool.Save();

  // 删除一个指定节点的所有内容和属性

  // xmlTool.Delete("Book/Author[ISBN=/"0004/"]");

  // xmlTool.Save();

  // 删除一个指定节点的子节点

  // xmlTool.Delete("Book/Authors[ISBN=/"0003/"]");

  // xmlTool.Save();

时间: 2024-09-16 15:48:57

XML操作类的相关文章

php实现的xml操作类_php技巧

本文实例讲述了php实现的xml操作类.分享给大家供大家参考,具体如下: <?php /* 使用方法: $test=new xml(); $test->new_xml('test.xml'); $test->root('document'); $test->append_root_node('book'); $test->append_child_node('author','linage'); $test->append_child_node('page',100);

C#实现的xml操作类完整实例_C#教程

本文实例讲述了C#实现的xml操作类,分享给大家供大家参考,具体如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System

PHP中XML操作类XML Library的实现

本文实例讲述了PHP实现的XML操作类.分享给大家供大家参考,具体如下: 这是一个接口程序,需要大量分析解析XML,PHP的xml_parse_into_struct()函数不能直接生成便于使用的数组,而SimpleXML扩展在PHP5中才支持,于是逛逛搜索引擎,在老外的网站上找到了一个不错的PHP XML操作类. 一.用法举例: 1.将XML文件解释成便于使用的数组: <?php include('xml.php');//引用PHP XML操作类 $xml=file_get_contents(

求一个LINQ TO XML 操作类

问题描述 求一个LINQTOXML操作类 解决方案 解决方案二:google"LINQTOXML",如果你认为这都满足不了你,你可以放弃了解决方案三: 解决方案四:引用2楼q107770540的回复: MSDNLINQTOXML MSDN才是王道,也是最基本的,他是最好的学习工具

ASP XML操作类代码_应用技巧

复制代码 代码如下: Class XMLClass Private objXml Private xmlDoc Private xmlPath '//============================================================ ' Sub Class_initialize Set objXml = Server.CreateObject("MSXML2.DOMDocument") objXml.preserveWhiteSpace = tru

ASP XML操作类代码

复制代码 代码如下:Class XMLClass Private objXml Private xmlDoc Private xmlPath '//============================================================ ' Sub Class_initialize Set objXml = Server.CreateObject("MSXML2.DOMDocument") objXml.preserveWhiteSpace = true

C# XML操作类 XmlHelper

using System.Xml; using System.Data; namespace DotNet.Utilities {     /// <summary>     /// Xml的操作公共类     /// </summary>        public class XmlHelper     {         #region 字段定义         /// <summary>         /// XML文件的物理路径         /// &l

asp.net xml操作方法与xml操作类

程序生成XML文档 这种方式是用 C# 程序生成一个 XML 文件,并将数据放在其中来处理.下面是几种不同的方法实现了同样的目的. 用XmlWriter类编辑数据而实现的简单示例:  代码如下 复制代码 XmlTextWriter xtw = new XmlTextWriter(filePath, Encoding.UTF8); xtw.Formatting = Formatting.Indented; xtw.WriteStartDocument(true); xtw.WriteStartEl

求一个xml操作类的写法

问题描述 xml:<?xmlversion="1.0"encoding="utf-8"?><root><num>1</num><node1>test</node1><node2>hahaha</node2></root> c#://更新num节点:if(!Page.IsPostBack){stringxml=Server.MapPath("~/XML

PHP XML操作类DOMDocument_php技巧

DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节点的定义(只读) Doctype 指定文档类型节点(只读) documentElement 返回文档的根元素(可读写) firstChild 返回当前节点的第一个子节点(只读) Implementation 返回XMLDOMImplementation对象 las