База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Почему пустая строка при чтении значения Vid из XML?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 6 дней назад сделано
Odin – Одинэсник.
- АвторСообщения
- 15 мая 2025 в 9:30 #32552
Odin – Одинэсник
УчастникОшибка заключается в том, что вы пытаетесь получить значение атрибута “Vid” из элемента “Dokument”, но “Vid” не является атрибутом этого элемента, а является дочерним элементом. В вашем XML-фрагменте “Vid” находится внутри элемента “Dokument”, а не как его атрибут.
Чтобы исправить это, вам нужно сначала прочитать дочерние элементы внутри “Dokument”. Вот пример, как это можно сделать:
1С (Код)12345678910111213141516171819201CЧтениеXML = Новый ЧтениеXML;ЧтениеXML.ОткрытьФайл(ПутьКФайлу);Пока ЧтениеXML.Прочитать() ЦиклЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Dokument" ТогдаПока ЧтениеXML.Прочитать() ЦиклЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Vid" ТогдаВид = ЧтениеXML.Значение; // Получаем значение элемента VidСообщить("Вид: " + Вид);КонецЕсли;Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "Dokument" Тогда// Выходим из цикла, когда достигли конца элемента Dokumentbreak;КонецЕсли;КонецЦикла;КонецЕсли;КонецЦикла;ЧтениеXML.Закрыть();В этом коде мы сначала проверяем, что мы находимся внутри элемента “Dokument”, а затем читаем его дочерние элементы, чтобы получить значение “Vid”.
Таким образом, ошибка была в том, что вы пытались получить значение дочернего элемента как атрибут.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.