Tengo una clase con una propiedad marcada con [XmlText]
, que acepta entradas de varias líneas. En mi archivo XML, he verificado que las terminaciones de línea dentro del contenido de texto son de hecho "\r\n"
, el mismo que el resto del archivo.deserialización XML 'estandarización' de finales de línea, cómo detenerla? (.NET)
El código que estoy usando para deserializar es:
XmlSerializer configSerializer = new XmlSerializer(typeof(WorldList));
string file = "test.xml";
if (File.Exists(file))
{
using (TextReader r = new StreamReader(file))
{
foo = configSerializer.Deserialize(r);
}
}
Pero, dentro del definidor de la propiedad [XmlText]
, value
ya tiene "\n"
como un final de línea. La razón principal por la que esto es molesto es porque "\n"
terminaciones de línea no se muestran correctamente en un TextBox
... No estoy seguro de qué parte está causando los problemas, pero pensé que alguien aquí podría arrojar algo de luz sobre la situación .
Me gusta eso ;-p –
Sin embargo, para el registro, la falta de uso de enunciados en el código de muestra hace que sea más difícil de leer en mi opinión ... nada malo con el uso. –
@ Matthew- Supongo que es una de esas cosas subjetivas: para probar que uno es mejor que el otro realmente necesitarías realizar un experimento controlado. Con mi respuesta, es un poco extraño ya que MemoryStream necesita ser analizado tanto en la serialización como en la deserialización, lo que en el mundo real no sucedería. En el caso de que su pregunta tenga uso de enunciados, es útil (en mi opinión). Cuando estaba escribiendo el código, en realidad incluía las instrucciones de uso, pero las descarté al publicar la respuesta (mi cerebro está conectado para evitar que se queje FXCop). – RichardOD