Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace System.Xml {
- public class XmlSerialization {
- public static string Serialize<T>(T xmlObject) {
- return Serialize<T>(xmlObject,false);
- }
- public static string Serialize<T>(T xmlObject,bool encodeInBase64) {
- using(System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) {
- System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(T));
- System.Xml.Serialization.XmlSerializerNamespaces xmlNamespace = new System.Xml.Serialization.XmlSerializerNamespaces();
- xmlNamespace.Add(string.Empty,string.Empty);
- xs.Serialize(memoryStream,xmlObject,xmlNamespace);
- System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
- if(encodeInBase64)
- return Convert.ToBase64String(System.Text.ASCIIEncoding.Unicode.GetBytes(encoding.GetString(memoryStream.ToArray())));
- else
- return encoding.GetString(memoryStream.ToArray());
- }
- }
- public static T Deserialize<T>(string xml) {
- return Deserialize<T>(xml,false);
- }
- public static T Deserialize<T>(string xml,bool decodeInBase64) {
- string data = xml;
- if(decodeInBase64)
- data = System.Text.ASCIIEncoding.Unicode.GetString(Convert.FromBase64String(xml));
- System.Xml.Serialization.XmlSerializer xs = System.Xml.Serialization.XmlSerializer.FromTypes(new Type[] { typeof(T) })[0];
- System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
- using(System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(encoding.GetBytes(data))) {
- System.Xml.XmlTextWriter xmlTextWriter = new System.Xml.XmlTextWriter(memoryStream,System.Text.Encoding.UTF8);
- return (T)xs.Deserialize(memoryStream);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment