Hola amigos! Les hago una consulta. Tengo un XML con un tag con un string formado por espacios en blanco como por ejemplo:
<string>" "</string> Cuando quiero deserializar, al encontrar este string con blancos, lo ignora completamente. En cambio, si yo le pongo por lo menos una letra, entonces sí lo deserializa. Les cuento que la estructura de clases la obtuve a partir de un XSD usando la herramienta XSD.exe que viene con el Framework. He armado un ejemplito que pinta de cuerpo entero mi problema (lo saqué de http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmltextattribute.aspx). Les muestro como estoy deserializando: public class Program { public class Group1 { [XmlText(typeof(string))] [XmlElement(typeof(int))] [XmlElement(typeof(double))] public object[] All = new object[] { 321, " ", 2, 3.0, "Two" }; // El string " " no me lo deserializa } static void Main(string[] args) { Program t = new Program(); t.SerializeAndDeserializeArray("XmlText1.xml"); } //Si esta clase Program la generan para una Console Applicantion entonces van a ver el archivo XML que genera en el mismo directorio, adentro de \bin\debug\XmlText1.xml private void SerializeAndDeserializeArray(string filename) { XmlSerializer ser = new XmlSerializer(typeof(Group1)); // Serializo y genero el XML: XmlText1.xml Group1 myGroup1 = new Group1(); TextWriter writer = new StreamWriter(filename); ser.Serialize(writer, myGroup1); writer.Close(); TextReader tr = new StreamReader(filename); XmlTextReader xmlReader = new XmlTextReader(tr); xmlReader.WhitespaceHandling = WhitespaceHandling.All; xmlReader.Normalization = true; xmlReader.XmlResolver = null; myGroup1 = (Group1)ser.Deserialize(xmlReader); //Deserializo el XML XmlText1.xml xmlReader.Close(); } } Qué puede estar sucediendo? He probado mil cosas y sigo poder deserializar el string con blancos. Cualquier idea amigos, es muy bienvenida. :) Muchas gracias desde ya. Silvana
