Разбор XML файла

1. LegO 22 22.02.21 19:27 Сейчас в теме
Подскажите, как прочитать такую структуру XML lines-item
ПолучитьАтрибут() видит только последний LinesNumber, а другие никак не получается прочитать:


-<Order-Lines>
-<Line>
<Line-Item UnitOfMeasure="ST" OrderNetpr="59.60 " OrderQuantity="5.000 " ItemType="CU" ItemDescription="ПЛОЩАДКА 100ПТП D100" BuyerItemCode="1002412264" EAN="4605098010861" LineNumber="00010"/>
</Line>
-<Line>
<Line-Item UnitOfMeasure="ST" OrderNetpr="59.60 " OrderQuantity="3.000 " ItemType="CU" ItemDescription="ПЛОЩАДКА 100ПТПР D100" BuyerItemCode="1002412270" EAN="4605098010960" LineNumber="00020"/>
</Line>
<Order-Lines>
По теме из базы знаний
Найденные решения
2. PerlAmutor 129 22.02.21 22:29 Сейчас в теме
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку("
|<Order-Lines>
|<Line>
|<Line-Item UnitOfMeasure=""ST"" OrderNetpr=""59.60"" OrderQuantity=""5.000"" ItemType=""CU"" ItemDescription=""ПЛОЩАДКА 100ПТП D100"" BuyerItemCode=""1002412264"" EAN=""4605098010861"" LineNumber=""00010""/>
|</Line>
|<Line>
|<Line-Item UnitOfMeasure=""ST"" OrderNetpr=""59.60"" OrderQuantity=""3.000"" ItemType=""CU"" ItemDescription=""ПЛОЩАДКА 100ПТПР D100"" BuyerItemCode=""1002412270"" EAN=""4605098010960"" LineNumber=""00020""/>
|</Line>
|</Order-Lines>");
Коллекция = Новый Массив;
Пока ЧтениеXML.Прочитать() Цикл
    Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "Order-Lines" Тогда
        Прервать;
    ИначеЕсли ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
        Продолжить;
    КонецЕсли;
    Свойства = Новый Структура;

    Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
        Свойства.Вставить(ЧтениеXML.Имя, ЧтениеXML.Значение);
    КонецЦикла;

    Если ЗначениеЗаполнено(Свойства) Тогда
        Коллекция.Добавить(Свойства);
    КонецЕсли;
КонецЦикла; 

ТЗ = ОбщегоНазначенияУТ.МассивВТаблицуЗначений(Коллекция);

Сообщить(ТЗ.Количество());
Показать
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PerlAmutor 129 22.02.21 22:29 Сейчас в теме
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку("
|<Order-Lines>
|<Line>
|<Line-Item UnitOfMeasure=""ST"" OrderNetpr=""59.60"" OrderQuantity=""5.000"" ItemType=""CU"" ItemDescription=""ПЛОЩАДКА 100ПТП D100"" BuyerItemCode=""1002412264"" EAN=""4605098010861"" LineNumber=""00010""/>
|</Line>
|<Line>
|<Line-Item UnitOfMeasure=""ST"" OrderNetpr=""59.60"" OrderQuantity=""3.000"" ItemType=""CU"" ItemDescription=""ПЛОЩАДКА 100ПТПР D100"" BuyerItemCode=""1002412270"" EAN=""4605098010960"" LineNumber=""00020""/>
|</Line>
|</Order-Lines>");
Коллекция = Новый Массив;
Пока ЧтениеXML.Прочитать() Цикл
    Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "Order-Lines" Тогда
        Прервать;
    ИначеЕсли ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
        Продолжить;
    КонецЕсли;
    Свойства = Новый Структура;

    Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
        Свойства.Вставить(ЧтениеXML.Имя, ЧтениеXML.Значение);
    КонецЦикла;

    Если ЗначениеЗаполнено(Свойства) Тогда
        Коллекция.Добавить(Свойства);
    КонецЕсли;
КонецЦикла; 

ТЗ = ОбщегоНазначенияУТ.МассивВТаблицуЗначений(Коллекция);

Сообщить(ТЗ.Количество());
Показать
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот