XmlManager.cs CampusAppWPortalLib8::Utility::XmlManager CampusAppWPortalLib8::Utility System::Xml::Linq //----------------------------------------------------------------------- //<copyrightfile="XmlManager.cs"company="BTU/IIT"> //TheMITLicense(MIT).Copyright(c)2013BTU/IIT. //</copyright> //<author>Stubbfel</author> //<date>15.10.2013</date> //<summary>ImplementstheXMLmanagerclass</summary> //----------------------------------------------------------------------- namespaceCampusAppWPortalLib8.Utility { usingSystem.IO; usingSystem.Xml.Linq; usingSystem.Xml.Serialization; publicclassXmlManager { publicstaticTDeserializationToModel<T>(stringxmlString,stringvalidRootName) { XmlSerializerserializer=newXmlSerializer(typeof(T)); XDocumentdocument=XDocument.Parse(xmlString); if(!document.Root.Name.ToString().Equals(validRootName)) { XElementcontent=document.Root; document=newXDocument(); document.Add(newXElement(validRootName,content)); } Tmodel=(T)serializer.Deserialize(document.CreateReader()); returnmodel; } publicstaticTDeserializationFileToModel<T>(stringxmlFilePath) { XmlSerializerserializer=newXmlSerializer(typeof(T)); XDocumentdocument=XDocument.Load(xmlFilePath); Tmodel=(T)serializer.Deserialize(document.CreateReader()); returnmodel; } publicstaticstringSerializationToString<T>(Tmodel) { stringretValue=string.Empty; XmlSerializerNamespacesns=newXmlSerializerNamespaces(); ns.Add(string.Empty,string.Empty); XmlSerializerserializer=newXmlSerializer(typeof(T)); TextWriterwriter=newStringWriter(); serializer.Serialize(writer,model,ns); retValue=writer.ToString(); if(retValue.StartsWith("<?xml")==true) { intendTag=retValue.IndexOf("?>"); retValue=retValue.Substring(endTag+2); if(retValue.StartsWith("\r\n")==true) { retValue=retValue.Substring(2); } } returnretValue; } } }