Имя: Пароль:
1C
1С v8
Загрузка данных xml
0 бегинер
 
02.09.14
13:01
Есть типовой код чтения:

Чтение = Новый ЧтениеXML;
        
    Чтение.ОткрытьФайл(ПутьКФайлу);

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

    // Прочитать "структурные части" элементов.

    // Проверить, какая часть элемента - текущая.

    Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
        ИмяУзла = Чтение.Имя; Сообщить("--" + ИмяУзла);

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

        // начало элемента

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

            // Прочитать данные узла атрибута.

            ТипУзла = Чтение.ТипУзла;
            Имя = Чтение.Имя;
            Значение = Чтение.Значение;
            сообщить("Имя="+имя+",    Значение="+значение);
            // Обработать полученные значения.


        КонецЦикла;

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

        // В примере просто выводим текст в окно сообщений.

        Сообщить("Текст:" + Чтение.Значение);

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

        // В примере просто выводим признак конца элемента

        // в окно сообщений Сообщить("--Конец:" + Чтение.Имя);


    КонецЕсли;

КонецЦикла;



читает xml, мне нужно получить массив данных из него в ТЗ/в люой другое хранилище - для последущей загрузки в справочник.
напрягает цикл , есть ли в 1с механизм чтобы указать файл xml схему xsd и пакетно получить сразу массив данных без цикла чтения?
1 Apokalipsec
 
02.09.14
13:05
нет. Но если бы там была сериализована ТЗ, то можно.
2 Garykom
 
гуру
02.09.14
13:05
(0) Будет если реализуешь такой механизм сопоставления данных из xml по схеме xsd ))
3 бегинер
 
02.09.14
13:12
(1) там  - это где? в xml?
сериализация - это же вроде преобразование из 1с в xml?
4 Garykom
 
гуру
02.09.14
13:15
(0)(3) А может лучше все таки серьезно заняться изучением 1С?

Например Радченко книжки почитать или еще какие...

Тогда не будет слегка глупых вопросов
5 Garykom
 
гуру
02.09.14
13:16
(4)+ и не только 1С но и программирование в целом повысить уровень

ЗЫ
Сериализация это не "преобразование из 1с в xml"!
6 13_Mult
 
02.09.14
13:17
7 13_Mult
 
02.09.14
13:20
8 13_Mult
 
02.09.14
13:21
9 бегинер
 
02.09.14
13:24
(4) в (3) не так выразился просто
(6) не оно, это тоже самое что и в (0), поиск тоже юзаем :)

думал что есть в 1с возможность работы с xml как с источником данных, построчно пропарсить любой сможет даже и без чтениеxml - эт же обычный текстовый файл
10 Garykom
 
гуру
02.09.14
13:34
(9) Работа с xml как с источником данных без "построчно пропарсить" это конечно оригинально...

А можно спрасить а каким образом будет осуществляться переход на нужное значение-элемент? Без парсера подряд то?
11 Garykom
 
гуру
02.09.14
13:36
(10)+ Т.е. да можно юзать этот xml как источник данных )) но сначала один фиг пропарсить, записать куда то начало/конец элементов и юзай как простую БД в виде одного файла ))
12 бегинер
 
02.09.14
13:42
(10) можно, ну давай потрещим 1с ник :) раз такой умный букваед
я интересовался про готовый механизм.
допустим не было бы механизма запросов в 1с.
я б спросил "а если в 1с механизм пакетной обработки данных, чтоб задал условие - запрос, и мне дало результат выборку"

ты бы спросил "эт как ты представляешь механизм и как будет переход на нужные элементы набора и отбирать по условиям"

вот как механизм запросов работает - по аналоги вот тебе и ответ :)

т.е. имелся ввиду готовый механизм платформы, в недрах которого путем парсинга или как - но набор данных обрабатывался и становился аля источником данных.
13 бегинер
 
02.09.14
13:44
(11) то та опомнился :))
вот и думал что бориска придумал такой механизм, дабы избавить нас от парсинга :)
14 Garykom
 
гуру
02.09.14
13:51
(13) Ну не выйдет без парсера никак обойтись...

Никак не выйдет, да есть готовые обработки с кодом который XML    например в ТЗ засовывает со всеми вложениями внутри ячеек других ТЗ и полями-аттрибутами но так или найти такое или самлму написать

И в каком таком языке/системе программирования есть такое готовое в комплекте по умолчанию? Для любых XML а не строго типизированных с определенной структурой?
15 бегинер
 
02.09.14
13:55
(14) я так то из vb пришел - все ручками :)
а тут понравилась ленивая 1с, много всего готового есть :)
вот и спрашиваю перед тем как сделать, чтоб 1с-овский велосипед не изобретать.
не зря же говорят что 1с расслабляет прогера :)
16 бегинер
 
02.09.14
13:55
а курить RTFM нужно согласен, форум очень хорош - почти все есть уже - тока ищи.
17 бегинер
 
02.09.14
13:59
(14) спасибо кста за подсказки!
18 tridog
 
02.09.14
22:09
(0) xdto