Das Thema möchte ich euch im folgendem Post näher bringen.
Ziel: Ziel dieses Tutorials ist es in C# eine Serialisierung von XML-Dokumetnen vorzunehmen.
In der objekorientierten Welt erstellen wir uns erstmal ein beliebig epublic Klasse: Person.cs
In diesem Beispiel, erstelle ich Eigenschaften einer Person. Eine Person besitzt gewöhnlich einen Vor- und Nachnamen, Alter, Wohnort, Straße, Postleitzahl usw. Meine Klasse Person hat somit folgend Properties (Consolen Applikation!):
using System;using System.Linq;
namespace XMLSerialization{public class Person{string firstname;string lastname;string city;int postalcode;byte age;string street;string housenumber;int phonenumber;int mobilenumber;string Email;
////// Gets or sets the p email.///
////// The p email.///public string PEmail{get{return this.Email;}set{this.Email = value;}}
////// Gets or sets the street.///
////// The street.///public string Street{get{return this.street;}set{this.street = value;}}
////// Gets or sets the firstname.///
////// The firstname.///public string Firstname{get{return this.firstname;}set{this.firstname = value;}}
////// Gets or sets the lastname.///
////// The lastname.///public string Lastname{get{return this.lastname;}set{this.lastname = value;}}
////// Gets or sets the city.///
////// The city.///public string City{get{return this.city;}set{this.city = value;}}
////// Gets or sets the postalcode.///
////// The postalcode.///public int Postalcode{get{return this.postalcode;}set{this.postalcode = value;}}
////// Gets or sets the age.///
////// The age.///public byte Age{get{return this.age;}set{this.age = value;}}
///////// Gets or sets the housenumber.///
////// The housenumber.///public string Housenumber{get{return this.housenumber;}set{this.housenumber = value;}}
////// Gets or sets the phonenumber.///
////// The phonenumber.///public int Phonenumber{get{return this.phonenumber;}set{this.phonenumber = value;}}
////// Gets or sets the mobilenumber.///
////// The mobilenumber.///public int Mobilenumber{get{return this.mobilenumber;}set{this.mobilenumber = value;}}
}}
Ende des Codes der public Klasse Person.cs
Nun müssen wir eine Neue Person (Name Jack) erstellen und der Person Eigenschaften zuweisen, dies wird in unserem Main Aufruf gemacht:
using System;using System.IO;using System.Linq;using System.Xml.Serialization;
namespace XMLSerialization{class Program{static string file;
////// Defines the entry point of the application.///
///The arguments. static void Main(string[] args){///Console.WriteLine(“Filename:”);file = AppDomain.CurrentDomain.BaseDirectory + Console.ReadLine();//Create a new objeft of type PersonPerson personJack = new Person();Console.WriteLine(“Age:”);personJack.Age = Convert.ToByte(Console.ReadLine());Console.WriteLine(“Street:”);personJack.Street = Console.ReadLine();Console.WriteLine(“City:”);personJack.City = Console.ReadLine();Console.WriteLine(“Firstname:”);personJack.Firstname = Console.ReadLine();Console.WriteLine(“Lastname:”);personJack.Lastname = Console.ReadLine();Console.WriteLine(“Housenumber:”);personJack.Housenumber = Console.ReadLine();Console.WriteLine(“Mobile:”);personJack.Mobilenumber = Convert.ToInt32(Console.ReadLine());Console.WriteLine(“Phone:”);personJack.Phonenumber = Convert.ToInt32(Console.ReadLine());Console.WriteLine(“Mail:”);personJack.PEmail = Console.ReadLine();Console.WriteLine(“Postalcode:”);personJack.Postalcode = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Press enter to serialize…”);
Console.Read();///Call Serialize method and serialize objedct to xml file.Serialize(personJack);}
////// Serializes the specified person jack.///
///The person jack. static void Serialize(Person personJack){XmlSerializer xmlSer = new XmlSerializer(typeof(Person));using (TextWriter txtwriter = new StreamWriter(file)){xmlSer.Serialize(txtwriter, personJack);}}}}}}
Nun haben wir ein Objekt des Typs Person in eine XML Datei serialisiert,compilieren wir die Anwendung, müssen wir erst den Dateinnamen angeben z.b.: Jack.xml und anschließend die Eigenschaften schreiben und mit Enter bestätigen.
Eingaben könnten wie folgt aussehen:
![]() |
Input XML Serialization |
Als Ergebnis werden meine Objekte in eine XML-Datei serialisiert, Öffnet man die XML Datei mit einem Browser sehen wir folgendes Ergebnis:
![]() |
XML Result |
Die Solution könnt ihr um, den Blogeintrag besser nachzuvollziehen hier herunterladen.
Mit dieser Solution könnt ihr das ganze auch wieder deserialisieren. Klick hier.