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

Не читается значение из XML файла

Не читается значение из XML файла
Я
   NIGHTHUNTER
 
29.12.20 - 06:11
В переменных НомерЧека и ДатаЧека значения - АтрибутDOM
Как их прочитать что бы там были сами значения? Номер и Дата.


            Парсер   = Новый ЧтениеXML;
            ИмяФайла = ФайлЗаказ.ПолноеИмя;
            Парсер.ОткрытьФайл(ИмяФайла);
            Построитель  = Новый ПостроительDOM;
            Документ     = Построитель.Прочитать(Парсер);
            Для каждого Элемент0 Из Документ.ЭлементДокумента.ДочерниеУзлы Цикл
                Если Элемент0.ИмяУзла = "ЗаказНаряд" Тогда
                    ЗаказНаряд = Элемент0;
                    НомерЧека  = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Номер");
                    ДатаЧека   = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Дата");
   NIGHTHUNTER
 
1 - 29.12.20 - 06:15
сам файл такой

<?xml version="1.0" encoding="UTF-8"?>
<ДокументЗаказНаряд>
    <ЗаказНаряд Номер="ИП00000783" Дата="20200807103005">
        <Товары>
            <Товар Наименование="Фильтр топливный 3.0 диз" Код="ЦБ011672" Количество="1" Цена="4 300" Сумма="4 300" СуммаВсего="4 300"/>
            <Товар Наименование="Очиститель дизельных форсунок, 500 мл." Код="ЦБ013107" Количество="1" Цена="2 500" Сумма="2 500" СуммаВсего="2 500"/>
            <Товар Наименование="Диз.топливо" Код="ЦБ007257" Количество="20" Цена="50" Сумма="1 000" СуммаВсего="1 000"/>
        </Товары>
        <Работы>
            <Работа Наименование="Бак - указатель топлива -топливный бак - ремонт" Код="88.25.30.1" Количество="1" Цена="1 600" Сумма="4 000" СуммаВсего="3 600"/>
            <Работа Наименование="Форсунки-комплект-промывка" Код="19.60.12.1" Количество="1" Цена="1 600" Сумма="1 600" СуммаВсего="1 440"/>
        </Работы>
    </ЗаказНаряд>
</ДокументЗаказНаряд>
   NIGHTHUNTER
 
2 - 29.12.20 - 06:45
Например, Код, Наименование, Количество, читаются, -

                    ДатаЧека   = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Дата");
                    СуммаИтого = 0;
                    Для каждого Элемент1 Из ЗаказНаряд.ДочерниеУзлы Цикл
                        Если Элемент1.ИмяУзла = "Товары" Тогда
                            Товары = Элемент1;
                            Для каждого Элемент2 Из Товары.ДочерниеУзлы Цикл
                                //

                                Товар        = Элемент2;
                                //

                                НоваяСтрокаТовары              = Объект.ТаблицаЗагрузкиТовары.Добавить();
                                //

                                НоваяСтрокаТовары.НомерЧека    = НомерЧека;                                
                                НоваяСтрокаТовары.ДатаЧека     = ДатаЧека;
                                //

                                НоваяСтрокаТовары.Код          = Товар.Атрибуты.ПолучитьИменованныйЭлемент("Код").Значение;
                                НоваяСтрокаТовары.Наименование = Товар.Атрибуты.ПолучитьИменованныйЭлемент("Наименование").Значение;
                                НоваяСтрокаТовары.Количество   = Товар.Атрибуты.ПолучитьИменованныйЭлемент("Количество").Значение;
   NIGHTHUNTER
 
3 - 29.12.20 - 06:54
извините, протормозил, нужно так

                    НомерЧека  = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Номер").Значение;
                    ДатаЧека   = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Дата").Значение;

Список тем форума
Рекламное место пустует  Рекламное место пустует
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.