База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Почему пустая строка при чтении значения Vid из XML? › RE: Почему пустая строка при чтении значения Vid из XML?

Ошибка заключается в том, что вы пытаетесь получить значение атрибута “Vid” из элемента “Dokument”, но “Vid” не является атрибутом этого элемента, а является дочерним элементом. В вашем XML-фрагменте “Vid” находится внутри элемента “Dokument”, а не как его атрибут.
Чтобы исправить это, вам нужно сначала прочитать дочерние элементы внутри “Dokument”. Вот пример, как это можно сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 1C ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ПутьКФайлу); Пока ЧтениеXML.Прочитать() Цикл Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Dokument" Тогда Пока ЧтениеXML.Прочитать() Цикл Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Vid" Тогда Вид = ЧтениеXML.Значение; // Получаем значение элемента Vid Сообщить("Вид: " + Вид); КонецЕсли; Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "Dokument" Тогда // Выходим из цикла, когда достигли конца элемента Dokument break; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ЧтениеXML.Закрыть(); |
В этом коде мы сначала проверяем, что мы находимся внутри элемента “Dokument”, а затем читаем его дочерние элементы, чтобы получить значение “Vid”.
Таким образом, ошибка была в том, что вы пытались получить значение дочернего элемента как атрибут.