Hi Guys,
I have an problem,please tell me the correct solution.
Whenever my windows computer crashes,i loss my all xml data.
my C# program is using these two methods for reading and
writing data(Methods are given below).
How, i'm reading my data from XML File:
static Mutex mutex;
public static void AssignObjects()
{
if (mutex == null) { mutex = new Mutex(); }
}
public static string Get_ValueOfVariable(string VariableName,string Filename)
{
AssignObjects();
mutex.WaitOne();
string ValueIs = "";
try
{
XmlDocument doc = new XmlDocument();
doc.Load(XMLFileCheck.XMLDirectory + "\\" + Filename);
string path = "Settings/Vars[Name='" + VariableName.Trim() + "']";
XmlNode node = doc.SelectSingleNode(path);
if (node != null)
{
ValueIs = node.LastChild.InnerText;
}
else
{
ValueIs = "";
}
}
catch (Exception )
{
XMLFileCheck.CheckFor_CorruptedFile(new System.IO.FileInfo(Filename).Name);
}
mutex.ReleaseMutex();
return ValueIs.Trim();
}
How, i'm writing my data to XML File:
public static string InsertValue_OnVariable(string VariableName, string
Value,string Filename)
{
AssignObjects();
mutex.WaitOne();
string Result = "";
try
{
XmlDocument doc = new XmlDocument();
doc.Load(XMLFileCheck.XMLDirectory+"\\"+Filename);
string path = "Settings/Vars[Name='" + VariableName.Trim() + "']";
XmlNode node = doc.SelectSingleNode(path);
node.LastChild.InnerText = Value.Trim();
doc.Save(XMLFileCheck.XMLDirectory + "\\" + Filename);
}
catch (Exception)
{
XMLFileCheck.CheckFor_CorruptedFile(new System.IO.FileInfo(Filename).Name);
}
mutex.ReleaseMutex();
return Result;
}