Revision: 16221
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 29, 2009 09:56 by marcocs
Initial Code
namespace You.Xml
{
#region IMPORTS
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
#endregion
/// <summary>
/// Utilidad de serialización de objetos;
/// Se utiliza este class para crear set de datos xml a partir de un prototipo;
/// </summary>
public class XmlSerialization
{
/// <summary>
/// Serializa un objeto utilizando el tipo especificado.
/// </summary>
/// <param name="pObject">objeto a serializar</param>
/// <param name="type">tipo de objeto a serializar</param>
/// <returns>string (xml)</returns>
public static string Serialize(object pObject, Type type)
{
try
{
String XmlizedString = null;
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xs = new XmlSerializer(type);
using (XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8))
{
xs.Serialize(xmlTextWriter, pObject);
memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
XmlizedString = UTF8ByteArrayToString(memoryStream.ToArray());
}
return XmlizedString;
}
catch (Exception) { return null; }
}
/// <summary>
/// Deserializa una string xml UTF8 en un objeto
/// </summary>
/// <param name="data">string xml</param>
/// <param name="type">tipo a serializar</param>
/// <returns>objeto deserializado</returns>
public static object Deserialize(string data, Type type)
{
using (TextReader rd = new StringReader(data))
{
XmlSerializer sr = new XmlSerializer(type);
return sr.Deserialize(rd);
}
}
/// <summary>
/// Conversión de byte[] a strings UTF8
/// </summary>
/// <param name="characters">byte[] a convertir</param>
/// <returns>string</returns>
static string UTF8ByteArrayToString(byte[] characters)
{
String constructedString = new UTF8Encoding().GetString(characters);
return (constructedString);
}
/// <summary>
/// Conversión de un string UTF8 a byte[];
/// </summary>
/// <param name="pXmlString">string a convertir.</param>
/// <returns>byte[] del estring</returns>
static byte[] StringToUTF8ByteArray(String pXmlString)
{
byte[] byteArray = new UTF8Encoding().GetBytes(pXmlString);
return byteArray;
}
}
}
Initial URL
Initial Description
Utilidad de serialización de objetos; Utiliza este class para crear datos xml a partir de un prototipo;
Initial Title
Serialize/Deserialize
Initial Tags
Initial Language
C#