|
Как преобразовать выборку (дерево) в XML? | ☑ | ||
---|---|---|---|---|
0
ИС-2
naïve
02.04.14
✎
07:18
|
Вопрос для меня, новый. Пока ответа не нашел. Ручками описывать XML файл не хочу.
Есть иерархическая выборка. Как из нее быстро получить XML? |
|||
1
ДенисЧ
02.04.14
✎
07:20
|
herfvb
|
|||
2
ДенисЧ
02.04.14
✎
07:20
|
в смысле руками
|
|||
3
Рэйв
02.04.14
✎
07:22
|
ЗаписьXML=Новый ЗаписьXML();
ЗаписьXML.ОткрытьФайл("c:\doc.xml"); ЗаписьXML.ЗаписатьНачалоЭлемента("Root"); ЗаписатьXML(ЗаписьXML,Выборка); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); |
|||
4
Рэйв
02.04.14
✎
07:22
|
это если быстро
|
|||
5
ИС-2
naïve
02.04.14
✎
07:28
|
(3) спс, попробую
|
|||
6
ИС-2
naïve
02.04.14
✎
07:32
|
а СКД можно так вывести?
|
|||
7
Рэйв
02.04.14
✎
07:35
|
не пробовал
|
|||
8
ИС-2
naïve
02.04.14
✎
08:11
|
(4) ошибка
Значения данного типа не могут быть представлены в XML в справке выборку вообще нельзя записать этим методом |
|||
9
ИС-2
naïve
02.04.14
✎
08:47
|
ап
|
|||
10
mzelensky
02.04.14
✎
09:02
|
(0) Уже бы руками описал. Делов то...
|
|||
11
mehfk
02.04.14
✎
09:06
|
(9) Ты еще ждешь, что кто-то просто так за тебя напишет?
|
|||
12
ИС-2
naïve
02.04.14
✎
09:21
|
(10) лень двигатель прогресса
задачу можно сформулировать по другому: надо сериализовать выборку |
|||
13
mehfk
02.04.14
✎
09:24
|
Дерево значений сериализуй
|
|||
14
ИС-2
naïve
02.04.14
✎
09:52
|
(13) попробую. Но в ЗаписатьXML нет поддержки этого типа.
Как еще можно сериализовать? |
|||
15
mehfk
02.04.14
✎
09:59
|
Зато есть в СериализаторXDTO
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам)); |
|||
16
ИС-2
naïve
03.04.14
✎
13:30
|
а теперь обратная задача - есть XML файл, как быстро получить его структуру в виде дерева или подобного...
|
|||
17
Лефмихалыч
03.04.14
✎
13:38
|
(0) Вот не оптимальный метод. Доработай напильником
Процедура ЗаписатьСтроку(СтрокаДерева, ЗаписьXML, КолонкиДерева) Для каждого Строка из СтрокиДерева.Строки Цикл ЗаписьXML.ЗаписатьНачалоЭлемента("СтрокаДерева"); Для каждого Колонка из КолонкиДерева Цикл ЗаписьXML.ЗаписатьАтрибут(Колонка.Имя, Строка[Колонка.Имя]); КонецЦикла; Если Строка.Строки.Количество() > 0 Тогда ЗаписатьСтроку(Строка, ЗаписьXML, КолонкиДерева); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); КонецПроцедуры Для каждого Строка из Дерево.Строки Цикл ЗаписатьСтроку(Строка, ЗаписьXML, Дерево.Колонки); |
|||
18
Serginio1
03.04.14
✎
13:42
|
||||
19
ИС-2
naïve
03.04.14
✎
14:00
|
(18) слишком серьезно...
Кажись через COMОбъект(Msxml2.DOMDocument.3.0) можно обратиться к любому элементу. Для моей задачи подхиодит, хоть и избыточно |
|||
20
m-serg74
03.04.14
✎
14:07
|
(19) а СериализаторXDTO.ПрочитатьXML(ЧтениеXML); чем не подходит?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |