Имя: Пароль:
1C
 
XDTO. Как получить/установить значение anyType элемента?
0 DTX 4th
 
21.04.17
17:47
Есть xml:
<Query>
    <Where>
        <Eq>
            <FieldRef Name="Title" />
            <Value Type="Text">ЭтоНужноПрочитать</Value>
         </Eq>
    </Where>
</Query>

Читаю её:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("C:\Users\epanteleev\Desktop\1.xml");

тОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);


Как добраться до значения "ЭтоНужноПрочитать"?

Вроде уже всё попробовал:
http://imgur.com/a/bEO35
1 DTX 4th
 
21.04.17
18:20
Как добраться до значения элемента XDTO
Текст можно получить так:
тОбъектXDTO.Where.Eq.Value.Последовательность().ПолучитьТекст(0)

А вот добавить текст не получается, хотя в СП есть Добавить(<Текст>) у последовательности. Ругается, что мало параметров.
2 DTX 4th
 
21.04.17
18:50
Встречаем, Костыль!
Функция ПолучитьAnyTypeСТекстом(Текст)
    Ф = ПолучитьИмяВременногоФайла(".xml");
    Запись = Новый ЗаписьТекста(Ф);
    Запись.Записать("<Value Type=""Text"">"+Текст+"</Value>");
    Запись.Закрыть();
    
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(Ф);

    Об = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);          
    
    ЧтениеXML.Закрыть();
    УдалитьФайлы(Ф);
    
    Возврат Об;
КонецФункции
3 Cyberhawk
 
21.04.17
20:29
Я бы еще попробовал через модель ДОМ
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.