c# 实现的一个本地存储字符串类,方便在项目开发中,保存一些临时数据。结合json可以支持存储对象。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Threading.Tasks;
using System.IO;
namespace XXXXXXXXXXXXXX
{
public class XmlConfigFileDao
{
private string filename = "filename.xml";
public string getValue(string key)
{
XmlDocument doc = new XmlDocument();
if(File.Exists(this.filename))
{
doc.Load(this.filename);
XmlElement root = doc.DocumentElement;
XmlElement keyItemDoc = (XmlElement)(root.GetElementsByTagName(key))[0];
if (keyItemDoc != null)
{
string valuetype = keyItemDoc.GetAttribute("type");
string value = keyItemDoc.GetAttribute("value");
return value;
}
}
else
{
//XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(dec);
XmlElement classNameDoc = doc.CreateElement("Configlist");
XmlElement tempItemDoc = doc.CreateElement("TestData");
tempItemDoc.SetAttribute("type", "string");
tempItemDoc.SetAttribute("value", "lxxxtest");
classNameDoc.AppendChild(tempItemDoc);
doc.AppendChild(classNameDoc);
doc.Save(this.filename);
}
return null;
}
public void setValue(string key, string value)
{
XmlDocument doc = new XmlDocument();
if (File.Exists(this.filename))
{
doc.Load(this.filename);
XmlElement root = doc.DocumentElement;
XmlElement keyItemDoc = (XmlElement)(root.GetElementsByTagName(key))[0];
if (keyItemDoc != null)
{
keyItemDoc.SetAttribute("value",value);
}
else
{
XmlElement tempItemDoc = doc.CreateElement(key);
tempItemDoc.SetAttribute("type", "string");
tempItemDoc.SetAttribute("value", value);
root.AppendChild(tempItemDoc);
}
doc.Save(this.filename);
}
else
{
//XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(dec);
XmlElement classNameDoc = doc.CreateElement("Configlist");
XmlElement tempItemDoc = doc.CreateElement(key);
tempItemDoc.SetAttribute("type", "string");
tempItemDoc.SetAttribute("value", value);
classNameDoc.AppendChild(tempItemDoc);
doc.AppendChild(classNameDoc);
doc.Save(this.filename);
}
}
}
}