Формирование XML документа в памяти компьютера - C#

Узнай цену своей работы

Формулировка задачи:

Задача заключается в следующем: нужно сформировать XML-документ и отправить его по сети. C формированием XML-документа разобрался, с сетью тоже. Но есть один технический момент который меня не устраивает. Можно ли XML-документ формировать в памяти компьютера? т. е.
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();
Данные формируются сначала в файл Data.xml, а потом программа читает данные и отправляет их. Можно ли сделать например так, чтобы эти данные записывались не в файл Data.xml, а допустим в переменную String или массив байтов?

Решение задачи: «Формирование 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();
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5