Question

En C #, je dois créer des fichiers XML pour une utilisation avec Ivy et NAnt, mais ai de la difficulté à obtenir le droit de codage dans le fichier de sortie.

Si je .Save de XElement ( "C: \ foo.xml"), je reçois le bon recherche fichier, mais Ivy et / ou NAnt se fâche, que le fichier est en fait enregistré à l'aide UTF-8, mais je dois réellement enregistrer comme ANSI afin de pouvoir l'utiliser.

J'ai un Bodge en place à l'heure actuelle, ce qui est d'utiliser .ToString () pour obtenir le texte, puis utiliser un StreamWriter pour l'écrire dans un fichier.

Idéalement, je voudrais définir le format pendant la .Save () mais ne peut trouver aucune information à ce sujet.

Merci.

Était-ce utile?

La solution

XDocument.Save a un certain nombre de surcharges.

L'écriture par un XmlWriter correctement construit permet de choisir le codage ASCII.

var doc = XDocument.Parse( "<foo>&#160;bar&#7800;baz</foo>" );

XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new ASCIIEncoding();
using (var writer = XmlWriter.Create( "xelement.xml", settings )) {
    doc.Save( writer );
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top