Как сформировать xml по схеме xsd? #763178


#0 by Stim
Есть файлик xsd. а нем есть узел <xsd:element name="CryptoParameters" minOccurs="0"> с атрибутами типа Пишу код по заполнению этих атрибутов: ФайлыXSD = Новый Массив; Ругается на ПрограммаXDTO = ФабрикаXDTO.Создать(структурныйТип); где ошибка?
#1 by Stim
апну ветку
#2 by denis_jj
Посмотрите отладчиком какой тип получается в переменной структурныйТип. Возможно не угадали с названием и там Неопределено.
#3 by Serginio1
структурныйТип = МояФабрикаXDTO.Тип(";, "CryptoParameters"); ПрограммаXDTO = МояФабрикаXDTO.Создать(структурныйТип);
#4 by Stim
почему 2 запятых? Тип (Type) Вариант синтаксиса: По имени и URI пространства имен Синтаксис: Тип(<URIПространстваИмен>, <Имя>)
#5 by Stim
неопределено, так и есть. хмм
#6 by denis_jj
Разбирайтесь с созданием фабрики и её схемами. Возможно не подходит файл XSD, или где-то ошибка с параметрами создания фабрики.
#7 by denis_jj
После создания попробуйте отладчиком посмотреть какие в ней пакеты есть.
#8 by Serginio1
Это сайт добавляет
#9 by Serginio1
Смотри отладчиком типы и пространство имен
#10 by Serginio1
Если у тебя один файл то просто МояФабрикаXDTO = СоздатьФабрикуXDTO(Путь_К_Файлу_XSD);
#11 by Stim
какая-то фигня. Хочу сформировать пустой файл xml по схеме. код: Ошибка: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (ЗаписатьXML) ФабрикаXDTO.ЗаписатьXML(МойXML, ПрограммаXDTO); по причине: Несоответствие типов XDTO: Тип '{' не найден Тип принадлежит пакету, входящему в состав другой фабрики типов XDTO что за хрень?
#13 by Serginio1
МояФабрикаXDTO.ЗаписатьXML(МойXML, ПрограммаXDTO);
#14 by Stim
точно, спасибо!
#15 by Stim
А как добраться до CryptoParameters ?
#16 by Serginio1
Смотри пакеты где он у тебя описан
#17 by Stim
скажи, друг, как создать значениеXDTO CryptoParameters (МояФабрикаXDTO.Создать ) из МояФабрикаXDTO.Пакеты[1].КорневыеСвойства[0].Тип.Свойства[6].Тип.Свойства[6] структура примерно такая: "; __Settings ____Data ______CryptoParameters
#18 by Serginio1
#19 by Serginio1
То есть тебе проще воспользоваться ПолучитьТипОбъекта(МояФабрика,"{;)
#20 by Serginio1
Вернее смотри
#21 by Serginio1
Подправь ПолучитьТипОбъекта(Фабрика,Тип,ВерсияСхемы="")
#22 by Stim
ругается на всякие (ПервыйЭлемент,1) = "{"
#23 by Serginio1
Это сайт добавляет. Убери их
#24 by Stim
спасибо! все получилось. только через ПолучитьТипОбъекта(МояФабрикаXDTO,"{;);
#25 by Stim
подскажи еще пжл: у меня структура получилась такая __Settings ____Data ______CryptoParameters ________свойство1 ________свойство2 ________свойство3 __________подсвойство3_1 как это подсвойство записать?
#26 by Serginio1
Аналогично ПолучитьТипОбъекта(МояФабрикаXDTO,"{ ");
#27 by Stim
{Форма.Форма.Форма}: Ошибка при вызове метода контекста (ЗаписатьXML) МояФабрикаXDTO.ЗаписатьXML(МойXML, ЗначениеXDTOEncrypted,"EncryptAlgorithm"); по причине: Ошибочный порядок записи XDTO по причине: Ошибочный порядок записи XML
#28 by Serginio1
Если записываешь несколько элементов то нужно записать корневой элемент.
#29 by Serginio1
Схема такая. Пространства имен сам установи. Или без них     ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", ";);     ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", ";);
#30 by Serginio1
Ну чтение соответственно
#31 by Stim
хм. как-то неправильно записывает: - <CryptoParameters xmlns="; xmlns:xs="; xmlns:xsi=";   <CSPName>eToken Base Cryptographic Provider</CSPName> - <EncryptAlgorithm xmlns="; xmlns:xs="; xmlns:xsi=";
#32 by Stim
как можно из схемы xsd загрузить всю структуру в xml, тупо пустую?
#33 by Serginio1
А что тебя смущает, Выгружено 2 объекта прочитать их можешь через 30
#34 by Stim
как-то неправильно они выгружены. EncryptAlgorithm должно быть внутри CryptoParameters
#35 by Serginio1
Как выгружаешь так и получаешь Тебе нужно присвоитьКакомуто  Свойству ПрограммаXDTO.КакоетоСвойствоТипаEncrypted=ЗначениеXDTOEncrypted и записать только ПрограммаXDTO
#36 by Serginio1
ПрограммаXDTO.КакоетоСвойствоТипаEncryptAlgorithm=ЗначениеXDTOEncrypted
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С