Имя: Пароль:
1C
1С v8
Как загрузить XML в таблицу значений?
0 Gluk
 
19.11.12
09:01
Как загрузить любой XML файл в таблицу значений?
Пробую через ПостроительDOM - в файле несколько вложенных узлов - нужно несколько вложенных циклов чтения дочерних узлов или рекурсия. Тоже самое через Фабрику XDTO, но там списки XDTO.
1 Fragster
 
гуру
19.11.12
09:02
и что, СП смистили?
2 Fragster
 
гуру
19.11.12
09:03
пугают циклы?
3 mikecool
 
19.11.12
09:04
(0) ЧтениеХмл и да - циклы, циклы...
4 Gluk
 
19.11.12
09:10
(1) там нет сабжа
(2) нет, думал есть способ проще
(3) т.е. предлагаете просто через ЧтениеXML и циклы, циклы...?
5 Maxus43
 
19.11.12
09:21
(4) циклы, циклы... где преступление то?
6 Рэйв
 
19.11.12
09:25
(0)Читай стандартно и делай дерево значений. В ТЗ запаришься складывать вложенные ноды
7 Рэйв
 
19.11.12
09:26
(4)Почему циклы во множественном числе?:-)  Один цикл идет последовательно по узлам с заходом до дна в каждый
8 Gluk
 
19.11.12
10:22
(7) Можете привести пример такого цикла? Это рекурсия?
9 Fragster
 
гуру
19.11.12
10:25
(4) в СП не рассказано, как работать с СписокXDTO?
10 quest
 
19.11.12
10:26
прочти в XDTO и получи дерево на выходе. а дальше - как душа пожелает так и ковыряй это дерево
11 Рэйв
 
19.11.12
10:40
(8)
Как можно загрузить XML документ произвольной структуры?
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу);

Пока Чтение.Прочитать() Цикл

   // Прочитать "структурные части" элементов.
   // Проверить, какая часть элемента - текущая.
   Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
       ИмяУзла = Чтение.Имя; Сообщить("--" + ИмяУзла);

       // Атрибуты элементов можно читать только если текущая часть -
       // начало элемента
       Пока Чтение.ПрочитатьАтрибут() Цикл

           // Прочитать данные узла атрибута.
           ТипУзла = Чтение.ТипУзла;
           Имя = Чтение.Имя;
           Значение = Чтение.Значение;

           // Обработать полученные значения.

       КонецЦикла;

   ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.Текст Тогда

       // В примере просто выводим текст в окно сообщений.
       Сообщить("Текст:" + Чтение.Значение);

   ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда

       // В примере просто выводим признак конца элемента
       // в окно сообщений Сообщить("--Конец:" + Чтение.Имя);

   КонецЕсли;

КонецЦикла;

(C)Габец
12 sapphire
 
19.11.12
11:12
xsl преобразование к ТЗ.
13 DrunkAnimal
 
19.11.12
11:15
(12) а смысл?
14 vmv
 
19.11.12
11:35
(0) УПП или БП не пробовал гуглить на XML, по крайней мере в укр. все регламентные отчеты уже по электронке гоняют и в конфах куча методов поддержки работы с XML