Подскажите, как прочитать такую структуру 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>
ПолучитьАтрибут() видит только последний 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>
По теме из базы знаний
- Разбор XML в соответствие или структуру (8.3)
- Разбор XML документа - почти все возможные способы
- Основы языка запросов xpath, базовый синтаксис и применение в 1С 8.3 для работы с xml файлами сложной структуры
- Разбор XML Документа с помощью XDTO, без использования XDTO-пакетов и XML-схем (для очень ленивых)
- Добавление колонтитулов в Word файл(docx). На сервере, без COM и всяких тэгов
Найденные решения
Чтение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.Значение);
КонецЦикла;
Если ЗначениеЗаполнено(Свойства) Тогда
Коллекция.Добавить(Свойства);
КонецЕсли;
КонецЦикла;
ТЗ = ОбщегоНазначенияУТ.МассивВТаблицуЗначений(Коллекция);
Сообщить(ТЗ.Количество());
ПоказатьПрикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Чтение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.Значение);
КонецЦикла;
Если ЗначениеЗаполнено(Свойства) Тогда
Коллекция.Добавить(Свойства);
КонецЕсли;
КонецЦикла;
ТЗ = ОбщегоНазначенияУТ.МассивВТаблицуЗначений(Коллекция);
Сообщить(ТЗ.Количество());
ПоказатьПрикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот