本文為自已寫的一個操作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\");
... ... ... ...