Имя: Пароль:
1C
 
Помогите прочитать xml
0 katerinaUniv
 
16.09.15
14:08
ВыборкаДанных = XML_Документ.ВыбратьУзел("Document");
    Если ПустоеЗначение(ВыборкаДанных) = 1 Тогда
        Сообщить("Файл не является файлов выгрузки данных по заказам!");
        всеОк = 0;  
    Иначе
        ВыборкаДанных2 = ВыборкаДанных.ВыбратьУзел("Orders");
        Если ПустоеЗначение(ВыборкаДанных2) = 1 Тогда
            Сообщить("Файл не содержит информации о заказах!");
            всеОк = 0;  
        Иначе
            ВыборкаДок = ВыборкаДанных2.ВыбратьУзлы("Order");
            Для сч = 0 по ВыборкаДок.КоличествоУзлов()-1 Цикл
                //
            КонецЦикла;
            Сообщить("Найдено "+ Строка(ВыборкаДок.КоличествоУзлов()) + " заказов.");
    
        КонецЕсли;
1 katerinaUniv
 
16.09.15
14:08
Доброго времени суток! Вот такой код написала
2 katerinaUniv
 
16.09.15
14:09
Там еще конецЕсли; не хватает
3 katerinaUniv
 
16.09.15
14:09
не видит количества узлов
4 katerinaUniv
 
16.09.15
14:09
а вот сам пример xml
5 katerinaUniv
 
16.09.15
14:09
<Document>
<Orders type="completed">
<order num="1138">
<client name="Сорокин Иван Александрович ИП" code="П020005"/>
<storage code="020054" name="Склад материалов"/>
<materials>
<material articul="12132" code="" expense="0.550" cost="42.90">Материал 7</material>
<material articul="325644" code="" expense="45.000" cost="35235.00">Материал 9</material>
<material articul="bottles" code="00000175 " expense="2.000" cost="50.00">Бутылки</material>
</materials>
</order>
<order num="1139">
<client name="Коновалов С.С." code=""/>
<storage code="020054" name="Склад материалов"/>
<materials>
<material articul="" code="" expense="1.000" cost="180.000">КККК</material>
<material articul="122548" code="00000165 " expense="12.000" cost="3996.00">Шуруп 4х18, оцинкованный 79</material>
<material articul="bottles" code="00000175 " expense="0.000" cost="25.00">Бутылки</material>
</materials>
</order>
<order num="1140">
<client name="Звягинцев Василий ИП" code="П020008"/>
<storage code="020054" name="Склад материалов"/>
<materials>
<material articul="245812" code="00000179 " expense="1.500" cost="999.00">Материал 6</material>
<material articul="325644" code="" expense="3.000" cost="2349.00">Материал 9</material>
<material articul="bottles" code="00000175 " expense="4.000" cost="100.00">Бутылки</material>
</materials>
</order>
</Orders>
<Clients>
<client name="Сорокин Иван Александрович ИП" code="П020005" subdivision="Подразделение 1"/>
<client name="Коновалов С.С." code="" subdivision="Подразделение 2"/>
<client name="Звягинцев Василий ИП" code="П020008"/>
</Clients>
</Document>
6 katerinaUniv
 
16.09.15
14:09
не могу понять, в чем причина
7 katerinaUniv
 
16.09.15
14:14
помогите, кому не сложно...
8 Рэйв
 
16.09.15
14:15
А где закрытие <materials> ?
9 Рэйв
 
16.09.15
14:16
и storage тоже
10 Рэйв
 
16.09.15
14:18
аа..materials нашел:-)
11 ДенисЧ
 
16.09.15
14:18
(8) (9) не протрезвел?
12 Рэйв
 
16.09.15
14:19
(11)Я на работе.Что за инсинуации...
13 ДенисЧ
 
16.09.15
14:20
(12) Обычные для тебя...
если ты в упор текста не видишь)))
14 Рэйв
 
16.09.15
14:20
(13)написал же что нашел.Но закрытие storage  не вижу все равно:-)
15 ДенисЧ
 
16.09.15
14:22
(14)
<storage code="020054" name="Склад материалов"/>

А вот теперь иди трезвей
16 Рэйв
 
16.09.15
14:22
(15)тьфу блин:-)
17 Рэйв
 
16.09.15
14:23
(15)Трезв аки стекло уже почти три недели:-) Так что нечего наговаривать тут. Заработался:=-)
18 DS
 
16.09.15
14:27
Регистр?
19 fishb1
 
16.09.15
14:30
А что за ВыбратьУзлы()/ВыбратьУзел()? Где взять?
Я тоже так хочу. :)
20 katerinaUniv
 
16.09.15
14:32
разобралась! вместо "Order" надо было писать "order"
21 katerinaUniv
 
16.09.15
14:32
(19) меня так учили читать xml
22 DS
 
16.09.15
14:33
(19) Прикладной функционал похоже.
23 fishb1
 
16.09.15
14:38
(22) Угу, нагуглил уже:

Анализатор = СоздатьОбъект("AddIn.XMLParser");
XML_Документ = Анализатор.СоздатьДокумент();
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн