Last active
February 17, 2016 06:32
-
-
Save tvolodimir/6793211 to your computer and use it in GitHub Desktop.
serializers c#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static T XmlDeserializeFromString<T>(string objectData) | |
{ | |
return (T)XmlDeserializeFromString(objectData, typeof(T)); | |
} | |
public static object XmlDeserializeFromString(string objectData, Type type) | |
{ | |
var serializer = new XmlSerializer(type); | |
object result; | |
using (TextReader reader = new StringReader(objectData)) | |
{ | |
result = serializer.Deserialize(reader); | |
} | |
return result; | |
} | |
// To Clean XML | |
public static string SerializeToString<T>(T value) | |
{ | |
var emptyNamepsaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); | |
var serializer = new XmlSerializer(value.GetType()); | |
var settings = new XmlWriterSettings { | |
Indent = true, | |
OmitXmlDeclaration = true | |
}; | |
using (var stream = new StringWriter()) | |
using (var writer = XmlWriter.Create(stream, settings)) | |
{ | |
serializer.Serialize(writer, value, emptyNamepsaces); | |
return stream.ToString(); | |
} | |
} | |
public static string XmlSerializeToString(object objectInstance) | |
{ | |
var emptyNs = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); | |
var serializer = new XmlSerializer(objectInstance.GetType()); | |
var sb = new StringBuilder(); | |
using (TextWriter writer = new StringWriter(sb)) | |
{ | |
serializer.Serialize(writer, objectInstance, emptyNs); | |
} | |
return sb.ToString(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment