Feedback

C# - Generische XML-Serialisierung

Veröffentlicht von am 11/21/2008
(2 Bewertungen)
Eine Klasse welche die Serialisierung in XML vereinfacht indem sie generisch ist.

Verwendung:

XmlSerialisierung<Foo>.Serialisieren(foo, fileName);
foo = XmlSerialisierung<Foo>.Deserialisieren(fileName);
using System.IO;
using System.Xml.Serialization;

namespace gfoidl.Tools.Serialisierung
{
	/// <summary>
	/// Generische Implementierung einer XML-Serialisation
	/// </summary>
	/// <typeparam name="T">
	/// generischer Typ
	/// </typeparam>
	public static class XmlSerialisierung<T> where T : class 
	{
		/// <summary>
		/// Serialisiert das Objekt
		/// </summary>
		/// <param name="obj">
		/// zu serialisierendes Objekt
		/// </param>
		/// <param name="file">
		/// XML-Datei in die serialisiert wird
		/// </param>
		public static void Serialisieren(T obj, string file)
		{
			XmlSerializer xmlSer = new XmlSerializer(typeof(T));

			using (FileStream fs = new FileStream(file, FileMode.Create))
			{
				xmlSer.Serialize(fs, obj);
			}
		}
		//---------------------------------------------------------------------
		/// <summary>
		/// Deserialisiert das Objekt
		/// </summary>
		/// <param name="file">
		/// XML-Datei
		/// </param>
		/// <returns>
		/// deserialisiertes Objekt
		/// </returns>
		public static T Deserialisieren(string file)
		{
			XmlSerializer xmlSer = new XmlSerializer(typeof(T));

			using (FileStream fs = new FileStream(file, FileMode.Open))
			{
				return xmlSer.Deserialize(fs) as T;
			}
		}
	}
}
Abgelegt unter XML, Serialisierung.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!