一个比较有用的XML文件操作类 C#代码 可以继续扩展

xml|比较

public class CXml

{

    private string strXmlFile;

     private XmlDocument objXmlDoc = new XmlDocument();

     public CXml(string xmlFile)

     {

         //构造函数

         try

         {

              objXmlDoc.Load(xmlFile);

         }

         catch

         {

         }

         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()

     {

         //保存XML文件

         try

         {

              objXmlDoc.Save(strXmlFile);

         }

         catch

         {

         }

         objXmlDoc = null;

     }

}

时间: 2024-12-30 20:07:12

一个比较有用的XML文件操作类 C#代码 可以继续扩展的相关文章

Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等

Asp.net(c#)中常用文件操作类封装 包括:移动 复制 删除 上传 下载等 using System; using System.Configuration; using System.Data; using System.IO; using System.Text; using System.Threading; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.Ht

C#读取XML文件——自定义类

C#本身也带有读取XML文件的类,但是许久未曾接触C#了,为了练练手,自己写了一个具有简单功能的类,实现了读取xml文件,查找元素,插入结点等功能.实现如下: XmlDoc类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleCSharp { class XmlDoc { internal static st

Web项目: Java在部署项目的WebRoot下建立文件夹(附上文件操作类)

public boolean doTest(){ String path="../webapps/FileTest/reportFiles/aa.jsp";//FileTest为自己的项目名 reportFiles为自己建立的文件夹 aa.jsp为自己建立的文件 boolean isDone = false; File file = new File(path); if(file.exists()) throw new RuntimeException("File: &quo

Python文件操作类操作实例代码

  #!/usr/bin/env python 01 #!/usr/bin/env python  02 #coding:utf-8  03 # Author: 酷酷 04 # Purpose: 文件操作类  05 # Created: 2011/1/1  06  07 #声明一个字符串文本  08 poem='''  09 Programming is fun测试  10 When the work is done  11 if you wanna make your work also fu

JSP针对XML文件操作技巧实例分析_JSP编程

本文实例讲述了JSP针对XML文件操作技巧.分享给大家供大家参考,具体如下: XML(Extensible Markup   Language)可扩展标记语言,这个基础知识在早些已经学习过.而这篇教程为什么把它放在J2EE下边呢,因为他也是J2EE的13规范之一,虽然XML是W3C万维网组织联盟指定的,并做了规范,所以说也是一种规范,我们也必须按照规范来,和JDBC,Servlet,Jsp,Ejb等一样的. 前边的文章已经介绍了XML的一些基础知识,主要是用来存储,传输数据的,但是这些数据我们怎

Python文件操作类操作实例详解_python

本文讲述了Python文件操作类的操作实例,详细代码如下: #!/usr/bin/env python #!/usr/bin/env python #coding:utf-8 # Purpose: 文件操作类 #声明一个字符串文本 poem=''' Programming is fun测试 When the work is done if you wanna make your work also fun: use Python! ''' #创建一个file类的实例,模式可以为:只读模式('r'

c#-如何加载一个已经加密的XML文件

问题描述 如何加载一个已经加密的XML文件 如何加载一个已经加密的XML文件,为什么使用了xmldoc.Load(filepath),却报"根级别上的数据无效,第1行,位置1" 解决方案 先解密然后读 假如你有一个类,在它的上面加上[Serializable]属性就可以了,表示这个类是可以序列化的 [Serializable] public class People { public string Name { get; set; } public int Age { get; set

php文件操作类(建立,写入,删除,修改,复制,移动,创建目录)

实例1  代码如下 复制代码 <?php    /*   文件名:ClassFile.php   功能:面向对象,文件操作类(查看文件,删除文件,上传文件)   作者:感染源   时间:2007-1-11  */    class ClassFile  {   private $dir_name;   private $file_name;   private $dh;   //private $file_path;       //构造函数,打开工作文件目录   function __cons

PHP面向对象文件操作类

对象 <?php  /*  文件名:ClassFile.php  功能:面向对象,文件操作类(查看文件,删除文件,上传文件)  作者:感染源  时间:2007-1-11 */  class ClassFile {  private $dir_name;  private $file_name;  private $dh;  //private $file_path;      //构造函数,打开工作文件目录  function __construct($PDirName)  {   $this-