Zum Speicher und Austausch von Daten und Einstellungen greife ich gerne auf XML-Dateien zurück. Um diese zu erstellen habe ich bei http://www.getcodesamples.com/ eine recht elegante Lösung gefunden.
Mit Hilfe der ObjectSerializer Klasse kann man ganz einfach eine Klasse oder eine generische Liste in ein XML umwandeln.
ObjectSerializer Klasse
internal static class ObjectSerializer
{
// Serialize to xml
public static string ToXml(T value)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
StringBuilder stringBuilder = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings()
{
Indent = true,
OmitXmlDeclaration = true,
};
using (XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, settings))
{
serializer.Serialize(xmlWriter, value);
}
return stringBuilder.ToString();
}
// Deserialize from xml
public static T FromXml(string xml)
{
T value;
object empty = null;
value = (T)empty;
Try
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StringReader stringReader = new StringReader(xml))
{
object deserialized = serializer.Deserialize(stringReader);
value = (T)deserialized;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
[XmlRoot(ElementName = " XMLExampleClass ")] public class XMLExampleClass {
Entsprechend kann dann die Klasse unter Verwendung der
Methode ToXml in ein XML Serializiert werde und mit der Methode FromXml wieder
Deserializiert.
XMLExampleClass instance = new XMLExampleClass(); instance.Id = 0; instance.Name = “Test” // Serialize to xml string localXml = ObjectSerializer.ToXml(instance); // Deserialize from xml XMLExampleClass instanceFromXml = ObjectSerializer .FromXml(localXml);
Keine Kommentare:
Kommentar veröffentlichen