本文为自已写的一个操作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\");
... ... ... ...