mysimulation/server/tso.common/Utils/XMLList.cs
Tony Bark 22191ce648 Removed NioTSO client and server
- NioTSO client isn't needed because we're using RayLib
- Added FreeSO's API server to handle most backend operations
2024-05-01 02:55:43 -04:00

47 lines
1.1 KiB
C#
Executable file

using System;
using System.Collections.Generic;
using System.Xml;
namespace FSO.Common.Utils
{
public class XMLList<T> : List<T>, IXMLEntity where T : IXMLEntity
{
private string NodeName;
public XMLList(string nodeName)
{
this.NodeName = nodeName;
}
public XMLList()
{
this.NodeName = "Unknown";
}
#region IXMLPrinter Members
public System.Xml.XmlElement Serialize(System.Xml.XmlDocument doc)
{
var element = doc.CreateElement(NodeName);
foreach (var child in this)
{
element.AppendChild(child.Serialize(doc));
}
return element;
}
public void Parse(System.Xml.XmlElement element)
{
var type = typeof(T);
foreach (XmlElement child in element.ChildNodes)
{
var instance = (T)Activator.CreateInstance(type);
instance.Parse(child);
this.Add(instance);
}
}
#endregion
}
}