Формирование XML документа в памяти компьютера - C#
Формулировка задачи:
Задача заключается в следующем: нужно сформировать XML-документ и отправить его по сети. C формированием XML-документа разобрался, с сетью тоже. Но есть один технический момент который меня не устраивает. Можно ли XML-документ формировать в памяти компьютера? т. е.
Данные формируются сначала в файл Data.xml, а потом программа читает данные и отправляет их. Можно ли сделать например так, чтобы эти данные записывались не в файл Data.xml, а допустим в переменную String или массив байтов?
XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = Encoding.GetEncoding(1251); XmlWriter xmlwrite = XmlWriter.Create("Data.xml", settings); xmlwrite.WriteStartDocument(); xmlwrite.WriteStartElement("Elements"); xmlwrite.WriteStartElement("Element"); xmlwrite.WriteAttributeString("name", "element1"); xmlwrite.WriteAttributeString("size", "11"); xmlwrite.WriteEndElement(); xmlwrite.WriteEndElement(); xmlwrite.WriteEndDocument(); xmlwrite.Flush(); xmlwrite.Close();
Решение задачи: «Формирование XML документа в памяти компьютера»
textual
Листинг программы
var sb = new StringBuilder(); using ( var xmlWriter = XmlWriter.Create( sb, new XmlWriterSettings() { Encoding = Encoding.GetEncoding( 1251 ) } ) ) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement( "Elements" ); xmlWriter.WriteStartElement( "Element" ); xmlWriter.WriteAttributeString( "name", "element1" ); xmlWriter.WriteAttributeString( "size", "11" ); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д