From 518bbc00ceada63c338033d33590375dc2e62ccf Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 18 Jun 2013 15:22:50 +0200 Subject: [PATCH] finish #46 --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 1 + .../CampusAppWP8/Properties/WMAppManifest.xml | 2 +- CampusAppWP8/CampusAppWP8/Utility/XmlApi.cs | 13 +----- .../CampusAppWP8/Utility/XmlManager.cs | 40 +++++++++++++++++++ CampusAppWP8/CampusAppWP8/utility/XMLFeed.cs | 15 +------ 5 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 3d9378d5..c5fe7937 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -183,6 +183,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml index f4b319d3..04b6f0e8 100644 --- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml +++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml @@ -13,7 +13,7 @@ - + diff --git a/CampusAppWP8/CampusAppWP8/Utility/XmlApi.cs b/CampusAppWP8/CampusAppWP8/Utility/XmlApi.cs index df80424a..acad2995 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/XmlApi.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/XmlApi.cs @@ -10,8 +10,6 @@ namespace CampusAppWP8.Utility using System; using System.Collections.Generic; using System.Net; - using System.Xml.Linq; - using System.Xml.Serialization; using CampusAppWP8.Model.Utility; using CampusAppWP8.Resources; @@ -140,16 +138,7 @@ namespace CampusAppWP8.Utility /// content of the API private void Deserialization(string xmlString) { - XmlSerializer serializer = new XmlSerializer(typeof(T)); - XDocument document = XDocument.Parse(xmlString); - if (!document.Root.Name.ToString().Equals(this.ValidRootName)) - { - XElement content = document.Root; - document = new XDocument(); - document.Add(new XElement(this.ValidRootName, content)); - } - - T model = (T)serializer.Deserialize(document.CreateReader()); + T model = XmlManager.DeserializationToModel(xmlString, ValidRootName); if (model != null) { this.Model = model; diff --git a/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs b/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs new file mode 100644 index 00000000..abdb4647 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs @@ -0,0 +1,40 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 18.06.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Utility +{ + using System.Xml.Linq; + using System.Xml.Serialization; + + /// + /// Class provides some Xml-methods + /// + public class XmlManager + { + /// + /// Method deserialization a string to a Model + /// + /// the model + /// the XmlString + /// name of the RootTag + /// return the deserialization of the model + public static T DeserializationToModel(string xmlString, string validRootName) + { + XmlSerializer serializer = new XmlSerializer(typeof(T)); + XDocument document = XDocument.Parse(xmlString); + if (!document.Root.Name.ToString().Equals(validRootName)) + { + XElement content = document.Root; + document = new XDocument(); + document.Add(new XElement(validRootName, content)); + } + + T model = (T)serializer.Deserialize(document.CreateReader()); + return model; + } + } +} diff --git a/CampusAppWP8/CampusAppWP8/utility/XMLFeed.cs b/CampusAppWP8/CampusAppWP8/utility/XMLFeed.cs index c94a9775..36ad864f 100644 --- a/CampusAppWP8/CampusAppWP8/utility/XMLFeed.cs +++ b/CampusAppWP8/CampusAppWP8/utility/XMLFeed.cs @@ -8,9 +8,7 @@ namespace CampusAppWP8.Utility { using System; - using System.Xml.Linq; - using System.Xml.Serialization; - using CampusAppWP8.Resources; + using CampusAppWP8.Resources; /// /// This abstract Class is for Xml-feeds @@ -72,16 +70,7 @@ namespace CampusAppWP8.Utility /// content of the feed protected override void Deserialization(string feedString) { - XmlSerializer serializer = new XmlSerializer(typeof(T)); - XDocument document = XDocument.Parse(feedString); - if (!document.Root.Name.ToString().Equals(this.ValidRootName)) - { - XElement content = document.Root; - document = new XDocument(); - document.Add(new XElement(this.ValidRootName, content)); - } - - T model = (T)serializer.Deserialize(document.CreateReader()); + T model = XmlManager.DeserializationToModel(feedString, ValidRootName); if (model != null) { this.Model = model;