Имя: Пароль:
1C
1С v8
ДокументDOM
0 alexei366
 
24.09.12
12:57
Только начал разбираться с данным объектом, пока надо выполнить следующую задачу, есть xml.


<?xml version="1.0" encoding="UTF-8"?>
<Dogovor>
   <Nomer>23124</Nomer>
   <Data>2012-12-01</Data>
   <Strahov_INN>3333333333</Strahov_INN>
   <Strahov_prem>213421.89</Strahov_prem>
   <Held>0</Held>
   <Dokum>
       <nomer>2</nomer>
       <date>2012-09-25</date>
       <insured_inn>1234567892</insured_inn>
       <insured>Фирма</insured>
       <insurance_premium>6543214</insurance_premium>
       <additional_information>дополнительная </additional_information>
       <date_contract_from>2012-09-24</date_contract_from>
       <date_contract_on>2012-09-25</date_contract_on>
       <submitthis/>
   </Dokum>
</Dogovor>






Дочерний элемент Dokum может быть как простой элемент и соответственно там будет вложенная xml в виде строки (по такой схеме делаю сейчас при помощи ЧтениеXML), но возможно сделаем что там будет именно вложенная xml.

Вопрос такой как при помощи ДокументDOM преобразовать все вложенное в Dokum как строку (чтобы в базе сохранить)?
1 andrewks
 
24.09.12
13:04
ЭлементDOM (DOMElement)
ТекстовоеСодержимое (TextContent)
Использование:

Чтение и запись.
Описание:

Тип: Строка.
Текстовое содержимое узла DOM.
Содержит текстовое значение узла и всех его потомков. Значение не содержит разметки.
2 alexei366
 
24.09.12
13:09
ты попробуй, там все поля вложенного документа без тегов всмятку.
3 Fragster
 
гуру
24.09.12
13:09
не выпендривайся, делай через фабрику XDTO
4 Fragster
 
гуру
24.09.12
13:11
а вообще - нифига не понятно
5 andrewks
 
24.09.12
13:12
(2) а тебе как надо? именно в виде xml?
6 Fragster
 
гуру
24.09.12
13:13
что значит "вложенная XML"? получи объект XDTO и сделай из него XML. "Вложенные" XML должны быть не тупо скопированным куском XML, если там надо передать что-то с разметкой - надо его правильно запихивать в секцию CDATA или BASE64 или через EntytyEncoding, т.е. с заменой < на &lt; и т.п.
7 alexei366
 
24.09.12
13:14
мне нужна строка которая к примеру ЧтениеXML.УстановитьСтроку(НашаСтрокаXML);
8 Fragster
 
гуру
24.09.12
13:15
(7) потрать пару-тройку часиков, покури (3)
9 alexei366
 
24.09.12
13:15
я планирую в базе в реквизите объекта держать строку

       <nomer>2</nomer>
       <date>2012-09-25</date>
       <insured_inn>1234567892</insured_inn>
       <insured>Фирма</insured>
       <insurance_premium>6543214</insurance_premium>
       <additional_information>дополнительная </additional_information>
       <date_contract_from>2012-09-24</date_contract_from>
       <date_contract_on>2012-09-25</date_contract_on>
       <submitthis/>
10 andrewks
 
24.09.12
13:16
(7) ну, сделай ИмпортироватьУзел() и через записьХМЛ

в msxml, кстати, такая вещь штатно есть. может, и здесь есть, просто надо поискать
11 alexei366
 
24.09.12
13:17
так то думал ДокументDOM достаточно будет, а фабрику XDTO вообще пока загадка
12 alexei366
 
24.09.12
13:17
мне нужен Экспорт а не импорт
13 Fragster
 
гуру
24.09.12
13:20
(12) а это смотря с какой стороны смотреть
14 alexei366
 
24.09.12
13:33
не ну я пытаюсь, вытащить данные дочернего элемента как тект (если он текст, или если он сложный элемент переводя его в текст с разметкой)
15 Jaap Vduul
 
24.09.12
13:42
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
   
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(Документ.ПолучитьЭлементыПоИмени("Dokum").Элемент(0), Запись);
Сообщить(Запись.Закрыть());
16 alexei366
 
24.09.12
13:46
ща попробую
17 alexei366
 
24.09.12
14:15
Народ, подскажите есть ли методы-атрибуты для определения сложный элемент или нет, я пока вижу только проверяя перывй дочерний на тип?
18 Fragster
 
гуру
24.09.12
14:37
чую адский велосипед
19 alexei366
 
24.09.12
14:43
да не, буду делать через ЗаписьDOM  а не Фабрику, ну или подскажи как хранить xml в базе (подразумевается что база без понятие что за документ она содержит, она с ним не работает, просто хранение), вариант хранилище данных не хотелось бы.
20 alexei366
 
24.09.12
14:43
ой ХранилищеЗначения*
21 Fragster
 
гуру
24.09.12
15:09
(20) а чем не устраивает хранилище? оно со сжатием будет раз в 10-50 меньше, чем документ в виде XML
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn