в 1с создала обработку, в ней табличную часть - валюты с реквизитами id и rate. плюс - сделала форму, куда прописала кнопку на чтение xml:
&НаКлиенте
Процедура выборфайла(Команда)
режим = режимдиалогавыборафайла.Открытие;
диалоготкрытияфайла = новый диалогвыборафайла(режим);
фильтр = "xml|*.xml";
диалоготкрытияфайла.фильтр = фильтр;
если диалоготкрытияфайла.выбрать() тогда
файлхмл = диалоготкрытияфайла.выбранныефайлы;
для каждого фхмл из файлхмл цикл
выборфайлаНаСервере(фхмл);
конеццикла;
конецесли;
обновитьинтерфейс();
КонецПроцедуры
далее - нужно значения из currencies перенести в созданную табличку, но там фича с уровнем вложенности, определение куда и что писать вкупе с моим тотальным непониманием как это делать.
методом гугления набрала куски кода, что суммарно стало выглядеть так:
&НаСервере
Процедура выборфайланасервере(файлхмл)
Парсер = Новый ЧтениеXML;
Парсер.открытьфайл(файлхмл);
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Парсер);
Для Каждого Элемент0 Из Документ.ЭлементДокумента.ДочерниеУзлы Цикл
Если Элемент0.ИмяУзла = "shop" Тогда
shop = Элемент0;
Для Каждого Элемент1 Из shop.ДочерниеУзлы Цикл
Если Элемент1.ИмяУзла = "currencies" Тогда
currencies = Элемент1;
Сообщить("currencies:");
Для Каждого Элемент2 Из currencies.ДочерниеУзлы Цикл
Если Элемент2.ИмяУзла = "currency" Тогда
currency = Элемент2;
id = currency.Атрибуты.ПолучитьИменованныйЭлемент("id");
Если id <> Неопределено Тогда
Сообщить(" " + id.Значение);
rate = currency.Атрибуты.ПолучитьИменованныйЭлемент("rate");
Если rate <> Неопределено Тогда
Сообщить(" " + rate.Значение);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Парсер.Закрыть();
КонецПроцедуры
крч, нужна помощь (а это и так видно из кода и общей атмосферы отчаяния).
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший