要操作的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");
XmlNodeList elemList = xmlDoc.GetElementsByTagName(nKey);
XmlNode mNode=elemList[0];
mNode.InnerText=nValue;
XmlTextWriter xw = new XmlTextWriter(new StreamWriter(@"d:/workcheng/web/RegExp.xml"));
xw.Formatting = Formatting.Indented;
xmlDoc.WriteTo(xw);
xw.Close();
}
}
//删除结点名为key的结点
public void DeleteValue(string nKey)
{
if(ReadValue(nKey)!="notFound")
{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(@"d:/workcheng/web/RegExp.xml");
XmlNodeList elemList = xmlDoc.GetElementsByTagName("RegRoot");
XmlNode mNode=elemList[0];
XmlNodeList elemList1 = xmlDoc.GetElementsByTagName(nKey);
XmlNode mNode1=elemList1[0];
mNode.RemoveChild(mNode1);
XmlTextWriter xw = new XmlTextWriter(new StreamWriter(@"d:/workcheng/web/RegExp.xml"));
xw.Formatting = Formatting.Indented;
xmlDoc.WriteTo(xw);
xw.Close();
}
}
}
}