Estoy serializando un objeto en una aplicación C# VS2003/.Net 1.1. Sin embargo, lo necesito serializado sin las instrucciones de procesamiento. La clase XmlSerializer pone algo como esto:Omitir instrucciones de procesamiento XML al serializar un objeto
<?xml version="1.0" encoding="utf-16" ?>
<MyObject>
<Property1>Data</Property1>
<Property2>More Data</Property2>
</MyObject>
¿Hay alguna manera de obtener algo como lo siguiente, sin procesar el texto resultante para eliminar la etiqueta?
<MyObject>
<Property1>Data</Property1>
<Property2>More Data</Property2>
</MyObject>
Para aquellos que son curiosos, mi código es el siguiente ...
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
StringBuilder builder = new StringBuilder();
using (TextWriter stringWriter = new StringWriter(builder))
{
serializer.Serialize(stringWriter, comments);
return builder.ToString();
}
Pero esto todavía requiere post-procesar el resultado de eliminar las etiquetas de inicio y fin MyContainingElement, ¿no? Aunque al menos se conocerán, así que es bueno ... –
Jugué con esto y reemplacé WriteStartElement con WriteRaw ("") y me deshice del WriteEndElement; entonces todo lo que necesitaba hacer para obtener un buen resultado fue TrimStart() el BOM desactivado ¡Guay! –