Tuve una pregunta rápida sobre el datacontraerializer. Tal vez es más una pregunta de flujo. Encontré un fragmento de código que escribe el xml en una cadena de archivos. Básicamente no quiero el archivo y solo necesito el resultado de la cadena.DataContractSerializer: cómo puedo enviar el xml a una cadena (a diferencia de un archivo)
public static string DataContractSerializeObject<T>(T objectToSerialize)
{
var fs = new FileStream("test.xml", FileMode.OpenOrCreate);
var serializer = new DataContractSerializer(typeof(T));
serializer.WriteObject(fs, objectToSerialize);
fs.Close();
return fs.ToString();
}
fs.ToString() no es, obviamente, lo que estoy buscando. ¿Qué secuencia o escritor, etc., puedo usar solo para devolver la cadena correcta y no crear un archivo? Miré el XML creado por filestream y es exactamente lo que estoy buscando. El XmlSerializer escribió el XML un poco extraño y prefiero el resultado del DataContractSerializer en este caso. ¿Alguien puede señalarme en la dirección correcta?
miradas como tú inter cambió el parámetro, debería ser memStm.Seek (0, SeekOrigin.Begin); – xar
@xar: sí, tiene toda la razón, gracias por detectar ese error. Lo arreglé ahora. –
Esta solución codifica innecesariamente a/desde utf8. –