Вход | Регистрация


Чтение из XML

Чтение из XML
Я
   Garikus
 
16.07.18 - 10:39
Доброго времени суток,
подскажите как прочитать XML файл подобного содержимого

<doc Контрагент="Вася Пупкин" Водитель="Иванов И.В." АдресДоставки="623780, Свердловская обл, ">
        <tovar Номенклатура="Гвозди "Количество="42"/>
        <tovar Номенклатура="Гвозди" Количество="20"/>
        <tovar Номенклатура="Шурупы" Количество="6"/>
        <tovar Номенклатура="Болты" Количество="6"/>
    </doc>

Пытаюсь след образом, читает только doc, как к доку прочитать tovar

Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И
            ЧтениеXML.Имя = "doc" тогда
            
            //Контрагент = ЧтениеXML.ЗначениеАтрибута("Контрагент");    

            ст = Результат.Добавить();
            Ст.Контрагент = ЧтениеXML.ЗначениеАтрибута("Контрагент");
            Ст.Водитель = ЧтениеXML.ЗначениеАтрибута("Водитель");
            Ст.Адрес = ЧтениеXML.ЗначениеАтрибута("АдресДоставки");
            //ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И

            //ЧтениеXML.Имя = "tovar" тогда

            Пока ЧтениеXML.Имя = "tovar" Цикл
            //Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И

            //ЧтениеXML.Имя = "tovar" тогда

            строк = Результат.Добавить();
            строк.Номенклатура = ЧтениеXML.ЗначениеАтрибута("Номенклатура");
            строк.Количество = ЧтениеXML.ЗначениеАтрибута("Количество");
        //КонецЕсли;

        КонецЦикла;
            
      КонецЕсли;
КонецЦикла;
 
 
   1Сергей
 
1 - 16.07.18 - 10:41
...
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И
            ЧтениеXML.Имя = "doc" тогда
...
Пока ЧтениеXML.Имя = "tovar" Цикл
...



Понимаешь же, что он в этот цикл никогда не зайдёт?
   Garikus
 
2 - 16.07.18 - 10:43
(1) Тут да не поправил, уже откровенный тупизм напал(((
   1Сергей
 
3 - 16.07.18 - 10:44
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
    Если ЧтениеXML.Имя = "doc" тогда
        ....
    ИначеЕсли ЧтениеXML.Имя = "tovar" тогда
        ....
   1Сергей
 
4 - 16.07.18 - 10:45
а внутренний цикл не нужен
   Garikus
 
5 - 16.07.18 - 10:45
(4)
Только написал и сам все понял )))
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И
            ЧтениеXML.Имя = "doc" тогда
            
            //Контрагент = ЧтениеXML.ЗначениеАтрибута("Контрагент");    

            ст = Результат.Добавить();
            Ст.Контрагент = ЧтениеXML.ЗначениеАтрибута("Контрагент");
            Ст.Водитель = ЧтениеXML.ЗначениеАтрибута("Водитель");
            Ст.Адрес = ЧтениеXML.ЗначениеАтрибута("АдресДоставки");
            ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И
            ЧтениеXML.Имя = "tovar" тогда
                        //Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И

            //ЧтениеXML.Имя = "tovar" тогда

            строк = Результат.Добавить();
            строк.Номенклатура = ЧтениеXML.ЗначениеАтрибута("Номенклатура");
            строк.Количество = ЧтениеXML.ЗначениеАтрибута("Количество");
          
            
      КонецЕсли;
КонецЦикла;    

Тупил полтора часа)))
   Garikus
 
6 - 16.07.18 - 10:46
Извиняйте за беспокойство

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует