.xml檔案格式如下
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE DataAccess[]>
<DataAccess>
<appSettings>
<add key="StartTime" value="9" />
<add key="EndTime" value="6" />
</appSettings>
</DataAccess>
C#初始化
private static XmlDocument xmlIAUConfig;
static ConfigManager()
{
xmlIAUConfig = new XmlDocument();
XMLPath = Assembly.GetExecutingAssembly().CodeBase;
Int32 i = XMLPath.LastIndexOf("/");
XMLPath = XMLPath.Remove(i);
XMLPath = XMLPath + @"/abc.xml";
xmlIAUConfig.Load(XMLPath);
}
擷取某個節點的值
public static String GetValue(String key)
{
xmlIAUConfig.Load(XMLPath);
String value;
String path = @"//DataAccess/appSettings/add[@key='" + key + "']";
XmlNodeList xmlAdds = xmlIAUConfig.SelectNodes(path);
if (xmlAdds.Count == 1)
{
XmlElement xmlAdd = (XmlElement)xmlAdds[0];
value = xmlAdd.GetAttribute("value");
}
else
{
throw new Exception("IAUConfig配置資訊設定錯誤:鍵值為" + key + "的元素不等于1");
}
return value;
}
修改某個節點為謀值
public static void SavaConfig(string strKey, string strValue)
{
XmlDocument XMLDoc = new XmlDocument();
XMLDoc.Load("abc.xml");
XmlNodeList list = XMLDoc.GetElementsByTagName("add");
for (int i = 0; i < list.Count; i++)
{
if (list[i].Attributes[0].Value == strKey)
{
list[i].Attributes[1].Value = strValue;
}
}
StreamWriter swriter = new StreamWriter("abc.xml");
XmlTextWriter xw = new XmlTextWriter(swriter);
xw.Formatting = Formatting.Indented;
XMLDoc.WriteTo(xw);
xw.Close();
swriter.Close();
}