Sto aprendo un file XML esistente con C# e sostituisco alcuni nodi. Tutto funziona bene. Subito dopo averlo salvato, ho i seguenti caratteri all'inizio del file:Ottenere "ï" ¿"all'inizio del file XML dopo il salvataggio()
 (EF BB BF in HEX)
Tutta la prima linea:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Il resto del file si presenta come un normale file XML. Il codice semplificato è qui:
XmlDocument doc = new XmlDocument();
doc.Load(xmlSourceFile);
XmlNode translation = doc.SelectSingleNode("//trans-unit[@id='127']");
translation.InnerText = "testing";
doc.Save(xmlTranslatedFile);
sto usando un'applicazione C# Windows Forms con .NET 4.0.
Qualche idea? Perché dovrebbe farlo? Possiamo disabilitarlo in qualche modo? È per Adobe InCopy e non lo apre in questo modo.
UPDATE: soluzione alternativa:
Salvataggio con XmlTextWriter lavora troppo:
XmlTextWriter writer = new XmlTextWriter(inCopyFilename, null);
doc.Save(writer);
Vedere questo [post] (http://stackoverflow.com/questions/1755958/how-can-i-remove-bom-from-xmltextwriter-using-c) qui - Jon Skeet spiega come usare rimuovere la BOM quando si salva il tuo XMLDocument, se è quello di cui hai bisogno. – StuartLC