Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Master.pro
2 / 2 / 0
Регистрация: 21.01.2010
Сообщений: 24
#1

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

05.10.2012, 23:23. Просмотров 1223. Ответов 4
Метки нет (Все метки)

Задача заключается в следующем: нужно сформировать XML-документ и отправить его по сети. C формированием XML-документа разобрался, с сетью тоже. Но есть один технический момент который меня не устраивает. Можно ли XML-документ формировать в памяти компьютера? т. е.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
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 или массив байтов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2012, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Формирование XML документа в памяти компьютера (C#):

Формирование XML документа - C#
Здравствуйте, уважаемые форумчане! Возникла следующая проблема, при создании следующей записи <z:row Region='8' LName='Лисицкая'...

Создание документа XML через LINQ-to-XML - C#
как создать новый документ xml через LINQ-to-xml XDocument doc =new XDocument("name.xml",Encoding.UTF8); ...

Формирование Excel документа по шаблону данными из БД - C#
Здравствуйте. У меня есть шаблона Excel, я хочу чтобы в документ такой-же(таки-же поля,разбияния колонок и тп) передавались данные из...

Формирование XML - C#
Доброго времени суток!!! Возник вопрос Использую данный код XElement xmlDoc = new XElement("Trucks", ...

.NET 4.x Чтение из XML документа - C#
Требуется считать из XML документа значение атрибута. Вот кусок XML документа : <TestRun> <ResultSummary outcome="Inconclusive"> ...

Чтение XML документа - C#
Отправляю методом GET запрос на яндекс карты и получаю ответ в виде XML файла. <?xml version="1.0" encoding="utf-8"?> <ymaps...

4
Петррр
5970 / 3407 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
05.10.2012, 23:32 #2
Можно
0
Master.pro
2 / 2 / 0
Регистрация: 21.01.2010
Сообщений: 24
05.10.2012, 23:47  [ТС] #3
Цитата Сообщение от Петррр Посмотреть сообщение
Можно
Пожалуйста поясните, как это реализовать?
0
NickoTin
Почетный модератор
Эксперт .NET
8246 / 3528 / 239
Регистрация: 14.06.2010
Сообщений: 4,510
Записей в блоге: 9
06.10.2012, 00:02 #4
Массив байт:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            using ( var ms = new MemoryStream() )
            {
                using ( var xmlWriter = XmlWriter.Create(
                                            ms,
                                            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();
                }
 
                // Массив байт
                var buff = ms.GetBuffer();
            }
В строку:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            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();
            }
1
Master.pro
2 / 2 / 0
Регистрация: 21.01.2010
Сообщений: 24
07.10.2012, 19:27  [ТС] #5
Спасибо!
0
07.10.2012, 19:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 19:27
Привет! Вот еще темы с ответами:

Компоновка XML документа - C#
Всем привет. У меня такой вопрос, как можно компоновать XML документ из нескольких в Run-Time. Допустим есть такая древовидная...

Парсинг xml документа - C#
Имеется документ типа <?xml version="1.0" encoding="utf-8" standalone="yes"?> <data> <users> <user> ...

Чтение XML документа - C#
Добрый день. Помогите получить значения с XML документа такого типа: <?xml version="1.0" encoding="windows-1251" ?> - <request> ...

Парсинг большого XML документа - C#
Доброго времени суток! Помогите пожалуйста спарсить XML файл такого рода. Вот его кусочек: <Tools> <CatalogTool> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru