У меня есть документ, в котором я заменяю внутренний XML некоторого узла:
var xmlReplacement = File.ReadAllText(path); // this xml is well formatted with indentations itself, but not indented at the correct level for the document it's about to be inserted into
var document = new XmlDocument();
document.PreserveWhitespace = true;
document.Load(path);
// replace inner xml of ContainingNode
var node = document.SelectSingleNode("//ContainingNode");
node.InnerXml = xmlReplacement;
// write back to the output file
using (var writer = new XmlTextWriter(path, null))
{
writer.Formatting = Formatting.Indented;
document.WriteTo(writer);
}
Я получаю новый внутренний XML без отступа (полностью слева) изакрыть узел на той же строке, что и закрытие моего замещающего узла XML.
Как я могу получить это право?