Мне нужно сохранить один XmlDocument
в файл с правильным отступом (Formatting.Indented)
, но некоторые узлы с их дочерними элементами должны быть в одной строке (Formatting.None)
.
Как этого добиться, если XmlTextWriter
принять настройки для всего документа?
Редактировать после восстановления @Ahmad Mageed:
Я не знал, что настройки XmlTextWriter могут быть изменены во время записи. Это хорошие новости.
Прямо сейчас я сохраняю xmlDocument (который уже заполнен узлами, если быть точным, это страница .xaml) следующим образом:
XmlTextWriter writer = new XmlTextWriter(filePath, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
xmlDocument.WriteTo(writer);
writer.Flush();
writer.Close();
Разумеется, это позволяет делать отступы во всех узлах. Мне нужно отключить отступ при работе со всеми <Run>
узлами.
В вашем примере вы пишете в XmlTextWriter «вручную».
Есть ли простой способ просканировать все узлы xmlDocument и записать их в XmlTextWriter, чтобы я мог обнаружить <Run>
узлов? Или мне нужно написать какой-нибудь рекурсивный метод, который будет использоваться для каждого дочернего элемента текущего узла?