Многие функции .NET используют XmlWriter для вывода/генерации xml. Вывод в файл/строку/память - это очень важная операция:
XmlWriter xw = XmlWriter.Create(PutYourStreamFileWriterEtcHere);
xw.WriteStartElement("root");
...
Иногда вам нужно манипулировать полученным Xml и поэтому хотите загрузить его в XmlDocument или, возможно, понадобится XmlDocument по какой-то другой причине, но вы должны сгенерировать XML с помощью XmlWriter. Например, если вы вызываете функцию в сторонней библиотеке, которая выводится только в XmlWriter.
Одна из вещей, которую вы можете сделать, - записать xml в строку и затем загрузить ее в свой XmlDocument:
StringWriter S = new StringWriter();
XmlWriter xw = XmlWriter.Create(S);
/* write away */
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(S.ToString());
Однако это неэффективно - сначала вы сериализуете всю информацию xml в строку, затем снова разбираете строку для создания DOM.
Как вы можете указать XmlWriter для непосредственной сборки XmlDocument?