Вход | Регистрация
 

Чтение XML с помощью ФабрикаXDTO

Чтение XML с помощью ФабрикаXDTO
Я
   Help1с
 
01.08.19 - 09:24
Всем привет.
Подскажите как прочитать значение у элемента subjectRF 76?
<ns2:subjectRF dCode="RF7" dRn="1" rRn="1">76</ns2:subjectRF>

Делаю так:
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(вхТекстXML);  
Фабрика = Новый ФабрикаXDTO;
СтруктураДанных = Фабрика.ПрочитатьXML(ЧтениеXML);

СтруктураДанных.subjectRF - ОбъектXDTO, у которого есть атрибуты dCode="SubektRF7" dRn="1" rRn="1", но нет значения "76"
Как прочитать значение 76?
Спасибо.
 
 
   mikecool
 
1 - 01.08.19 - 09:25
попробуй через __content
   Help1с
 
2 - 01.08.19 - 09:26
(1) попробовал. не видит. в отладчике смотрел. сколько символов "_"? пробовал от одного до трех
   mikecool
 
3 - 01.08.19 - 09:28
(2) два, но не везде прокатывает, в схеме должен быть описан этот контент
   Help1с
 
4 - 01.08.19 - 09:34
(3) а если на лету, без схемы? я так понимаю что никак? надо другой способ искать, не фабрикой?
   Help1с
 
5 - 01.08.19 - 11:37
Каким способом можно прочитать?
   Help1с
 
6 - 06.08.19 - 14:42
на всякий случай подниму )
   Help1с
 
7 - 06.08.19 - 15:21
всем спасибо. :) 
нашел ответ. вот так можно прочитать значение
СтруктураДанных.subjectRF.Последовательность().ПолучитьТекст(0)
   mikecool
 
8 - 06.08.19 - 15:26
(7) кстати да, теперь вспомнил - сам как то искал )))
какой то читерский способ, поскольку в типе объекта нет для этого значения поля
   Help1с
 
9 - 06.08.19 - 16:19
как изменить значение у свойства?  пытаюсь сделать вот так
    Для каждого ТекСвойство Из СтруктураДанных.Свойства() Цикл
        
        Если СокрЛП(СтруктураДанных.Получить(ТекСвойство)) = "ОбъектXDTO" Тогда
            Попытка
                ТекстовоеЗначение = СтруктураДанных.Получить(ТекСвойство).Последовательность().ПолучитьТекст(0);
                СтруктураДанных.Сбросить(ТекСвойство);
                СтруктураДанных.Добавить(СокрЛП(ТекСвойство), ТекстовоеЗначение);
                Получилось = Истина;
            Исключение
            
            КонецПопытки; 
        КонецЕсли; 
    КонецЦикла; 


вываливается ошибка СтруктураДанных.Добавить(СокрЛП(ТекСвойство), ТекстовоеЗначение);
   Help1с
 
10 - 06.08.19 - 16:24
+ Ошибка при вызове метода контекста (Добавить): Несоответствие типов (параметр номер '2')
   RomanYS
 
11 - 06.08.19 - 16:27
(10) Синтаксис:

Добавить(<Свойство>, <Элемент>)
Параметры:

<Элемент> (обязательный)

Тип: ЗначениеXDTO; ОбъектXDTO; Неопределено.
Элемент данных XDTO, добавляемый в последовательность.
   Help1с
 
12 - 06.08.19 - 16:30
(11) как на лету сделать из текста ЗначениеXDTO; 
и как я понял у этого свойства тип остается прежний "ОбектXDTO", а нужен текст...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.