现在的位置: 首页 > 综合 > 正文

XML文件操作(查询,添加,修改,删除 结点)

2012年08月07日 ⁄ 综合 ⁄ 共 1511字 ⁄ 字号 评论关闭

本文为自已写的一个操作xml文件的类,是对xml文件的结点(node),进行查询,添加,修改,删除基本操作。程序语言为c#。本类已测试,运行成功!

要操作的xml文件名为regexp.xml,与程序在同一目录下。

文件regexp.xml

 

  \\d{4}-\\d{1,2}-\\d{1,2}
  [a-za-z0-9]{4,12}

要操作的xml文件名为regexp.xml,与程序在同一目录下。

文件regexp.xml

 

  \\d{4}-\\d{1,2}-\\d{1,2}
  [a-za-z0-9]{4,12}

文件operregxml.cs

using system;
using system.xml;
using system.io;
namespace web
{
 /// 
 /// operregxml 的摘要说明。
 /// 
 public class operregxml
 {
  public operregxml()
  {
   //
   // todo: 在此处添加构造函数逻辑
   //
  }

//读取结点名为key的结点的innertext

  public string readvalue(string key)
  {
   xmldocument xmldoc=new xmldocument();
   xmldoc.load(@\"d:\\workcheng\\web\\regexp.xml\");
   xmlnodelist elemlist = xmldoc.getelementsbytagname(key);
   if(elemlist.count==0)
    return \"notfound\";
   else{
       xmlnode mnode=elemlist[0];
    return mnode.innertext;
   }
  }

//增加结点名为key的新结点

  public void addvalue(string key,string mvalue)
  {
   if(readvalue(key)==\"notfound\")
   {
    xmldocument xmldoc=new xmldocument();
    xmldoc.load(@\"d:\\workcheng\\web\\regexp.xml\");
    xmlnodelist elemlist = xmldoc.getelementsbytagname(\"regroot\");
    xmlnode mnode=elemlist[0];
    xmlelement nelement=xmldoc.createelement(key); 
    nelement.innertext=mvalue;
    mnode.appendchild(nelement);
    xmltextwriter xw = new xmltextwriter(new streamwriter(@\"d:\\workcheng\\web\\regexp.xml\"));
    xw.formatting = formatting.indented;
    xmldoc.writeto(xw);
    xw.close();
   }
  }

//更新结点名为nkey的结点的innertext
  public void updatevalue(string nkey,string nvalue)
  {
   if(readvalue(nkey)!=\"notfound\")
   {
    xmldocument xmldoc=new xmldocument();
    xmldoc.load(@\"d:\\workcheng\\web\\regexp.xml\");
 ... ... ... ...

抱歉!评论已关闭.