|
Как записать назначение типа XML в элементе с атрибутами ? | ☑ | ||
---|---|---|---|---|
0
Alex_MA
10.12.12
✎
07:57
|
Всем доброго утра!
Создаю xml такого вида: <?xml version="1.0" encoding="UTF-8"?> <!--Выгрузка сообщения интегрированной системы--> <Data xmlns:v8="http://v8.1c.ru/8.1/data" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" IDConfig="Энергосбыт" Transmission="Contracts"> <СправочникСсылка.Контрагенты> <Предопределенный xsi:type="xsd:boolean">false</Предопределенный> <Ссылка xmlns:v8="http://v8.1c.ru/data" xsi:type="v8:UUID">62261353-a69f-11dd-b1b2-0050450097d9</Ссылка> <ПометкаУдаления xsi:type="xsd:boolean">false</ПометкаУдаления> <ЭтоГруппа xsi:type="xsd:boolean">false</ЭтоГруппа> <Родитель Предопределенный="Нет" ПометкаУдаления="Нет" ЭтоГруппа="Да" Наименование="Управление" Код="Г00000000034" Комментарий="" GUID="" Vsc_Iskra_quid=""> <d4p1:UUID xmlns:d4p1="http://v8.1c.ru/data">765a088c-f6bf-11dd-bbe9-0050450097d9</d4p1:UUID>765a088c-f6bf-11dd-bbe9-0050450097d9</Родитель> Как видно из xml элемент родитель имеет вложенный элемент d4p1:UUID. Как мне обойтись без вложенного элемента, чтобы описание типа было в элементе "Родитель" ? Спасибо за внимание. За советы и ответы премного благодарен. |
|||
1
Alex_MA
10.12.12
✎
09:34
|
апну
|
|||
2
banco
10.12.12
✎
10:03
|
ЗаписьXML.ЗаписатьАтрибут(<ЛокальноеИмя>,<URIПространстваИмен>, <Значение>);
|
|||
3
Alex_MA
10.12.12
✎
10:23
|
(2)что такое вообще "xmlns:d5p1" ?
|
|||
4
banco
10.12.12
✎
10:37
|
(3) ты создаешь xml файл и у меня спрашиваешь?
|
|||
5
Serginio1
10.12.12
✎
11:43
|
А почему не используешь пакеты XDTO?
|
|||
6
Alex_MA
10.12.12
✎
14:46
|
(5)хочу использовать универсальную выгрузку объекта в xml
|
|||
7
Alex_MA
10.12.12
✎
14:50
|
Что то я вообще ничего не понимаю, есть xml:
<?xml version="1.0" encoding="UTF-8"?> <!--Выгрузка сообщения интегрированной системы--> <Data xmlns:v8="http://v8.1c.ru/8.1/data" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" IDConfig="Энергосбыт" Sender="EntMain" Transmission="Contracts"> <CatalogRef.ДоговорыКонтрагентов> <СтандартныеРеквизиты> <xsd:Предопределенный xsi:type="xsd:boolean">false</xsd:Предопределенный> <d4p1:Ссылка xmlns="" xmlns:d4p1="http://v8.1c.ru/data" xsi:type="CatalogRef.ДоговорыКонтрагентов">c14d0d79-f48a-11e0-a16e-002264a3800e</d4p1:Ссылка> <xsd:ПометкаУдаления xsi:type="xsd:boolean">false</xsd:ПометкаУдаления> <xsd:ЭтоГруппа xsi:type="xsd:boolean">false</xsd:ЭтоГруппа> <Владелец Предопределенный="Нет" ПометкаУдаления="Нет" ЭтоГруппа="Нет" Наименование="Бизнес-Софт ООО" Код="У00000000064" НаименованиеПолное="Общество с ограниченной ответственностью "Бизнес-Софт"" Комментарий="" ДополнительноеОписание="" КодПоОКПО="57114551" ИНН="3525112510" КПП="352501001" ДокументУдостоверяющийЛичность="30.12.99" Покупатель="Да" Поставщик="Да" РасписаниеРаботыСтрокой="" СрокВыполненияЗаказаПоставщиком="0" НеЯвляетсяРезидентом="Нет" GUID="К0000366 " Vsc_Iskra_quid="" vscЛНОУП="Нет" vscГрузополучатель="" vscАдресГрузополучателя="" vscУстав="Да" vscСведНалог="Да" vscСведГосРегистрация="Да" vscПризЛицензия="Нет" vscОКОГУ="49013" vscОКАТО="19401000000" vscОКВЭД="" vscОКФС="16" vscОГРН="1033500045765" vscОКПФ="65" vscПроверен="Да" vscТолькоДляСпециальныхРасчетов="Нет" vscНеИспользовать="Нет" vscНеПроверятьНаименование="Нет" vscНомерПостащикаУслуг="0" vscВыделятьОтдельнойСтрокойВОперативномКонтроле="Нет" vscХешПароляАвторизацииССайта="" ОбособленноеПодразделение="Нет"> <d5p1:UUID xmlns:d5p1="http://v8.1c.ru/data">62261353-a69f-11dd-b1b2-0050450097d9</d5p1:UUID>62261353-a69f-11dd-b1b2-0050450097d9</Владелец> <Родитель Предопределенный="Нет" ПометкаУдаления="Нет" ЭтоГруппа="Нет" Наименование="" Код=" " ДержатьРезервБезОплатыОграниченноеВремя="Нет" ДопустимаяСуммаЗадолженности="0" ДопустимоеЧислоДнейЗадолженности="0" Комментарий="" КонтролироватьСуммуЗадолженности="Нет" КонтролироватьЧислоДнейЗадолженности="Нет" ОбособленныйУчетТоваровПоЗаказамПокупателей="Нет" ПроцентКомиссионногоВознаграждения="0" ПроцентПредоплаты="0" ЧислоДнейРезерваБезОплаты="0" УчетАгентскогоНДС="Нет" КонтролироватьДенежныеСредстваКомитента="Нет" РасчетыВУсловныхЕдиницах="Нет" Дата="01.01.0001 0:00:00" Номер="" РеализацияНаЭкспорт="Нет" ВестиПоДокументамРасчетовСКонтрагентом="Нет" СрокДействия="01.01.0001 0:00:00" НалоговыйАгентПоОплате="Нет" vscНомерДоговораВходящий="" vscДатаНачалаДействияДоговора="01.01.0001 0:00:00" vscСуммаПоДоговору="0" vscСуммаНДСПоДоговору="0" Vsc_Iskra_guid="" vscДатаНачалаДействия="01.01.0001 0:00:00" vscБессрочный="Нет" vscДатаСогласованияОднСх="01.01.0001 0:00:00" vscДатаОкончанияСрокаАренды="01.01.0001 0:00:00" vscДатаПодписанияДоговора="01.01.0001 0:00:00" vscЛьгота="Нет" vscПредметДоговора="" vscНомерРешения="" vscДатаПринятияРешения="01.01.0001 0:00:00" vscАИИСКУЭ="Нет" vscБезДоговора="Нет" vscНомерДляСортировки="0" vscЦельКредита="" vscСрокКредита="0" vscСуммаКредита="0" vscДатаПогашения="01.01.0001 0:00:00" vscКредитнаяЛиния="Нет" vscПроцентнаяСтавка="0" vscПериод="01.01.0001 0:00:00" vscТелефонПоставщика="" vscТелефонТСО="" vscОсобый="Нет" vscАгентскийДоговор="Нет" vscДоговорПотерь="Нет" vscВыставлятьПлатежноеТребование="Нет" vscХешПароляАвторизацииССайта="" vscUUIDИзБазыДоговоров=""> <d5p1:UUID xmlns:d5p1="http://v8.1c.ru/data">00000000-0000-0000-0000-000000000000</d5p1:UUID>00000000-0000-0000-0000-000000000000</Родитель> <xsd:Наименование xsi:type="xsd:string">1372/2</xsd:Наименование> <xsd:Код xsi:type="xsd:string">ГЧ00028213</xsd:Код> </СтандартныеРеквизиты> </CatalogRef.ДоговорыКонтрагентов> </Data> Начинаю его читать: Функция PutXML(data) ФайлДанных = ПолучитьИмяВременногоФайла("xml"); data.BinaryData.Записать(ФайлДанных); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ФайлДанных); Пока ЧтениеXML.Прочитать() Цикл //----------------------------------------------------- // Начало элемента Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда ЛокальноеИмя = ЧтениеXML.ЛокальноеИмя; ИмяЭлемента = ЧтениеXML.Имя; // Чтение атрибутов Пока ЧтениеXML.ПрочитатьАтрибут() Цикл ИмяАтрибута = ЧтениеXML.Имя; ЗначениеАтрибута = ЧтениеXML.Значение; КонецЦикла; КонецЕсли; //----------------------------------------------------- // Конец элемента Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда //... КонецЕсли; КонецЦикла; Возврат Истина; КонецФункции Количество атрибутов 6. http://shot.qip.ru/009B7C-1GAPIlxYa/ Затем начинаю читать атрибуты у элемента "Data", он какого то "лешего" позиционируется на другом элементе http://shot.qip.ru/009B7C-4GAPIlxYb/ Уважаемые коллеги, подскажите пожалуйста ЧЯДНТ ? |
|||
8
Alex_MA
10.12.12
✎
15:55
|
Все заработало! Ура! Помог бубун.
Как решил проблему: Сначала изменил имя переменной Файл = Новый ЧтениеXML; Файл.ОткрытьФайл(ФайлДанных); В отладке ПрочитатьАтрибут(), хотя атрибутов 6 - он думал, что их очень много, нажал F5 зацикливания не произошло. изменил имя переменной на ФайлXML - все заработало прекрасно! Чудна 1С ка! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |