Как сохранить все форматирование XML с помощью XDocument?

Я пытаюсь прочитать файл конфигурации XML, сделать несколько настроек (найти и удалить или добавить элемент) и сохранить его. опять таки. Я хочу, чтобы это редактирование было максимально ненавязчивым, поскольку файл будет находиться под контролем источника, и я не хочу, чтобы несущественные изменения вызывали конфликты слияния и т. Д. Это примерно то, что у меня есть:

XDocument configDoc = XDocument.Load(fileName, LoadOptions.PreserveWhitespace);
// modifications to configDoc here
configDoc.Save(fileName, SaveOptions.DisableFormatting);

Есть несколько проблемы, которые появляются здесь:

  1. encoding = "utf-8" добавляется в объявление xml.
  2. изменяется на
  3. Атрибуты, которые были распределены по отдельным строкам для удобства чтения, помещаются все в одну строку.

Есть ли способ быть менее навязчивым с XDocument, или мне придется просто попытаться выполнить редактирование строки, чтобы получить то, что я хочу?

8
задан RandomEngy 14 December 2011 в 21:44
поделиться