// Чтение XML &НаСервере Функция ЧтениеXMLВДерево(Путь) Дерево = Новый ДеревоЗначений; Дерево.Колонки.Добавить("Имя"); Дерево.Колонки.Добавить("Значение"); XMLФайл = Новый ЧтениеXML; XMLФайл.ОткрытьФайл(Путь); ПрочитатьXMLПоТегам(XMLФайл, Дерево.Строки); XMLФайл.Закрыть(); Возврат Дерево; КонецФункции &НаСервереБезКонтекста Процедура ПрочитатьXMLПоТегам(XMLФайл, ТекущийНаборСтрок) Пока XMLФайл.Прочитать() Цикл Если XMLФайл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда НоваяСтрока = ТекущийНаборСтрок.Добавить(); НоваяСтрока.Имя = XMLФайл.Имя; НоваяСтрока.Значение = ""; Пока XMLФайл.ПрочитатьАтрибут() Цикл НоваяСтрокаАтрибут = НоваяСтрока.Строки.Добавить(); НоваяСтрокаАтрибут.Имя = XMLФайл.Имя; НоваяСтрокаАтрибут.Значение = СокрЛП(XMLФайл.Значение); КонецЦикла; ПрочитатьXMLПоТегам(XMLФайл, НоваяСтрока.Строки); ИначеЕсли XMLФайл.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда Возврат; ИначеЕсли XMLФайл.ТипУзла = ТипУзлаXML.Текст Тогда ТекущийНаборСтрок.Родитель.Значение = СокрЛП(XMLФайл.Значение); Иначе Сообщить("Тип узла: " + XMLФайл.ТипУзла + " НЕ ОБРАБОТАН", СтатусСообщения.Важное); Конецесли; КонецЦикла; КонецПроцедуры