Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для Master.pro
2 / 2 / 2
Регистрация: 21.01.2010
Сообщений: 29

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

05.10.2012, 23:23. Показов 1833. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2012, 23:23
Ответы с готовыми решениями:

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

Формирование XML документа с узлами с одинаковыми именами
Здравствуйте. Может кто-нибудь подсказать, как создать в XML документе два узла с одинаковыми именами. Типа <ArrayOfNUMPAS> ...

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

4
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
05.10.2012, 23:32
Можно
0
 Аватар для Master.pro
2 / 2 / 2
Регистрация: 21.01.2010
Сообщений: 29
05.10.2012, 23:47  [ТС]
Цитата Сообщение от Петррр Посмотреть сообщение
Можно
Пожалуйста поясните, как это реализовать?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
06.10.2012, 00:02
Массив байт:
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 / 2
Регистрация: 21.01.2010
Сообщений: 29
07.10.2012, 19:27  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.10.2012, 19:27
Помогаю со студенческими работами здесь

Создание xml документа посредством LINQ to XML
Добрый день. Мне необходимо создать xml-документ который будет включать следующие элементы: <Envelope...

Формирование MW документа
Здравствуйте. Подскажите, пожалуйста, как можно записать данные в .doc файл, чтобы некоторые предложения выделялись - подчеркивание, жирный...

Формирование документа
Всем привет! Помогите решить несколько задач. Создать на форме кнопку Сформировать. После заполнения формы и нажатии кнопки...

Создание XML документа по XML Shema
Здравствуйте нужна помощь в составлении XML документа по данной схеме: <?xml version="1.0"...

формирование текстового документа
Мне нужно чтоб программа делала распечатки информации! Разумеется сто лист должен быть соответственно сформирован! (аозможно логотип свёрху...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru