Je suis en train de sérialiser un objet dans une application C# VS2003/.Net 1.1. J'en ai besoin sérialisé sans l'instruction de traitement, cependant. La classe XmlSerializer met quelque chose comme ceci:Omettre l'instruction de traitement XML lors de la sérialisation d'un objet
<?xml version="1.0" encoding="utf-16" ?>
<MyObject>
<Property1>Data</Property1>
<Property2>More Data</Property2>
</MyObject>
Est-il possible d'obtenir quelque chose comme ce qui suit, sans traiter le texte résultant pour enlever l'étiquette?
<MyObject>
<Property1>Data</Property1>
<Property2>More Data</Property2>
</MyObject>
Pour ceux qui sont curieux, mon code ressemble à ceci ...
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
StringBuilder builder = new StringBuilder();
using (TextWriter stringWriter = new StringWriter(builder))
{
serializer.Serialize(stringWriter, comments);
return builder.ToString();
}
Mais cela nécessite encore de post-traitement le résultat de supprimer les balises de début et de fin de MyContainingElement, non? Bien qu'au moins ils seront connus, donc c'est bon ... –
J'ai joué avec ceci et remplacé WriteStartElement avec WriteRaw ("") et ai éliminé le WriteEndElement - alors tout que j'ai dû faire pour obtenir la bonne sortie était TrimStart() la nomenclature est désactivée. Cool! –