Comment puis-je me passer de déclaration xml lors de la sérialisation?
J'essaie de sortie d'un fichier xml xml sans tête comme
J'ai essayé:
Type t = obj.GetType();
XmlSerializer xs=new XmlSerializer(t);
XmlWriter xw = XmlWriter.Create(@"company.xml",
new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true });
xs.Serialize(xw,obj);
xw.Close();
Mais c'est toujours outputing dans le fichier xml.
Je ne veux pas de chaîne de trucs. Des idées?
Pourquoi vous voulez faire quelque chose comme cela, je suis juste curieux 🙂 ?
trouvé quelque chose de similaire, et avoir un regard sur: stackoverflow.com/questions/933664/....
Peut-être outputing quelques fragments, qui sont par la suite ajoutées à un document? Ou peut-être envoyer des fragments XML via les sockets comme XMPP? Beaucoup d'utilisation pour ça 🙂
Votre code fonctionne 🙂
N'oubliez pas de jeter XmlWriter (mieux envelopper dans une instruction d'utilisation)
trouvé quelque chose de similaire, et avoir un regard sur: stackoverflow.com/questions/933664/....
Peut-être outputing quelques fragments, qui sont par la suite ajoutées à un document? Ou peut-être envoyer des fragments XML via les sockets comme XMPP? Beaucoup d'utilisation pour ça 🙂
Votre code fonctionne 🙂
N'oubliez pas de jeter XmlWriter (mieux envelopper dans une instruction d'utilisation)
OriginalL'auteur orange | 2012-02-17
Vous devez vous connecter pour publier un commentaire.
Définir la
ConformanceLevel
àFragment
, comme ceci:J'ai eu la même exception levée, mais la mise en
OmitXmlDeclaration = true
et de définir explicitementConformanceLevel = ConformanceLevel.Auto
m'a obtenu le résultat attendu.J'ai eu le même problème, et votre correction a fonctionné pour moi aussi, merci.
OriginalL'auteur Diego
Ont un coup d'oeil dans le la documentation.
Là, vous voyez
Si vous avez besoin d'ajouter
ConformanceLevel = ConformanceLevel.Fragment
mais la sérialisation échoue. CependantConformanceLevel = ConformanceLevel.Auto
fonctionne comme un charme (comme il est écrit dans la Diego réponse)OriginalL'auteur dowhilefor
Si vous utilisez la sérialisation de surcharge (Flux, de l'Objet, XmlSerializerNamespaces) et de fournir la valeur null comme XmlSerializerNamespaces le XmlSerializer ne tente pas de la faute de WriteStartDocument. Essayez:
OriginalL'auteur David Burg