Имя: Пароль:
1C
1С v8
Создать XML код
,
0 thomY100
 
27.09.12
12:30
Добрый день, есть такая задач, необходимо, чтобы функция генерировала XML код, т.е просто создать XML файл я могу, но мне нужно, чтобы в переменной хранился сам текст файла, подскажите, как это сделать?
1 zladenuw
 
27.09.12
12:33
Перем МойТекстФайла :)
2 thomY100
 
27.09.12
12:34
это понятно))
как текст туда забабахать из созданного XML файла?
или может вообще можно без создания файла обойтись, простым способом?
3 Светлый Гений
 
27.09.12
12:35
4 thomY100
 
27.09.12
12:40
Что-то не понял из ссылки, как получить просто текст XML файла
5 zladenuw
 
27.09.12
12:41
Файл = Новый ЧтениеХМL;
Файл.ОткрытьФайл("с:\document.xml");

// Прочитать фрагменты элемента
Пока Файл.Прочитать() Цикл

// После чтения проверить тип узла
Если Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Сообщить(Файл.Имя);

// Прочитать атрибуты
Пока Файл.ПрочитатьАтрибут() Цикл
Сообщить("атрибут:" + Файл.Имя + "=" + Файл.Значение);
КонецЦикла;

КонецЕсли.

Если Файл.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить(Файл.Значение);
КонецЕсли;


Если Файл.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
Сообщить("/" + Файл.Имя);
КонецЕсли;
КонецЦикла;

Файл.Закрыть();

а погуглить ! лентяи
6 thomY100
 
27.09.12
13:36
ммм, я может плохо объясняю, мне нужно получить именно текст вида:
<ROOT Таблица="Таблица">
   <Запись>
       <Поле1>Значение11</Поле1>
       <Поле2>Значение21</Поле2>
   </Запись>
   <Запись>
       <Поле1>Значение12</Поле1>
       <Поле2>Значение22</Поле2>
</Поле2>

   </Запись>

</ROOT>

Не нужно его распарсивать
7 Cube
 
27.09.12
13:39
Как ты XML файлик-то делаешь, код покажи. Может ты просто текстовый файл делаешь... :)
8 thomY100
 
27.09.12
13:39
Задача в том чтобы таблицу значений преобразовать в формат XML я создаю XML файл через объект ЗаписьXML, теперь мне нужно получить код этого файла, либо, возможно, можно сгенерировать этот код без создания файла, собственно в этом проблема.
9 thomY100
 
27.09.12
13:40
вот код создания файла из ТЗ:

ЗаписьXML = Новый ЗаписьXML;

ЗаписьXML.Отступ = Истина;
           
ЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8");
   
ЗаписьXML.ЗаписатьОбъявлениеXML();
   
ЗаписьXML.ЗаписатьНачалоЭлемента("ROOT");
   
ЗаписьXML.ЗаписатьАтрибут("Таблица", ИмяТаблицы);
   
Для каждого СтрокаТаблицы Из Таблица Цикл
       
   ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяСтрокиXML);
       
   Для каждого Поле Из Таблица.Колонки Цикл
           
       ЗаписьXML.ЗаписатьНачалоЭлемента(Поле.Имя);
       ЗаписьXML.ЗаписатьТекст(Строка(СтрокаТаблицы[Таблица.Колонки.Индекс(Поле)]));
       ЗаписьXML.ЗаписатьКонецЭлемента();
               
   КонецЦикла;
           
   ЗаписьXML.ЗаписатьКонецЭлемента();

КонецЦикла;
     
ЗаписьXML.ЗаписатьКонецЭлемента();
   
ЗаписьXML.Закрыть();
10 Cube
 
27.09.12
13:43
(9) Ну так ты же файл создаешь. Что мешает отрыть этот файл как текстовый и вытащить текст?
11 thomY100
 
27.09.12
14:02
не очень красиво, но можно, а без создания XML файла есть варианты?
12 pumbaEO
 
27.09.12
14:06
ДенисЧ негодует:
Закрыть (Close)
Синтаксис:

Закрыть()
Возвращаемое значение:

Тип: Строка.

Описание:

Завершает запись текста XML. Если производилась запись в файл, то файл закрывается. Если производилась запись в строку, то результирующая строка будет получена в качестве возвращаемого значения метода. Если производилась запись в файл, то метод вернет пустую строку.

Убери ЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8"); , и сделай в конце
Строка = ЗаписьXML.Закрыть();
13 thomY100
 
27.09.12
14:13
попытался, говорит "Не установлен приемник XML"
14 KAO111
 
27.09.12
14:17
ЗаписьHTML.УстановитьСтроку()
15 thomY100
 
27.09.12
14:19
ок, спасибо, разобрался