muddesigner/MudEngine/WinPC_Engine/DAL/XMLData.cs

78 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using System.Reflection;
using System.IO;
using MudEngine.GameScripts;
using MudEngine.Core;
namespace MudEngine.DAL
{
public class XMLData
{
public XElement SaveData { get; private set; }
/// <summary>
/// Instances the ObjectSaver and all of its Properties and Fields
/// </summary>
public XMLData(String objectType)
{
SaveData = new XElement(objectType);
this._RootNode = objectType;
}
public void AddSaveData(String property, String value)
{
this.SaveData.Add(new XElement(property, value));
}
public String GetData(String property)
{
foreach (XElement element in SaveData.Elements())
{
if (element.Name.LocalName == property)
return element.Value;
}
return String.Empty;
}
public Boolean Save(String filename)
{
if (!Directory.Exists(Path.GetDirectoryName(filename)))
{
Directory.CreateDirectory(Path.GetDirectoryName(filename));
}
try
{
this.SaveData.Save(filename);
return true;
}
catch
{
return false;
}
}
public Boolean Load(String filename)
{
try
{
this.SaveData = XElement.Load(filename);
return true;
}
catch (Exception ex)
{
Logger.WriteLine(ex.Message);
return false;
}
}
private String _RootNode;
}
}