ファイルから読み込んだXMLDocumentがあります。ファイルはUnicodeであり、改行文字'\n'があります。XMLDocumentを書き戻すと、改行文字'\ r\n'が含まれます。
これが非常に単純なコードです。
XmlTextWriter writer = new XmlTextWriter(indexFile + ".tmp", System.Text.UnicodeEncoding.Unicode);
writer.Formatting = Formatting.Indented;
doc.WriteTo(writer);
writer.Close();
XmlWriterSettingsにはプロパティNewLineCharsがありますが、'writer'で設定パラメーターを指定できません。読み取り専用です。
XmlWriterSettingsプロパティを指定してXmlWriterを作成できますが、XmlWriterにはformattingプロパティがないため、改行のないファイルになります。
したがって、要するに、改行文字'\n'とFormatting.Indentedを使用してUnicodeXmlファイルを作成する必要があります。考え?