Имя: Пароль:
1C
1С v8
XML хочу получить из XML схему XSD. Но облом. :(
0 Dunstan
 
28.07.14
16:36
Делаю так:

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Фильтр = "Файлы XML (*.xml) |*.xml";
Если НЕ Диалог.Выбрать() Тогда
   Возврат;
КонецЕсли;
ИмяФайла = Диалог.ПолноеИмяФайла;
ЧтениеXML = Новый ЧтениеXML;

Попытка
   ЧтениеXML.ОткрытьФайл(ИмяФайла);
Исключение
   Сообщить("Невозможно открыть xml-файл");
   Возврат;
КонецПопытки;

ПостроительDOM = Новый ПостроительDOM;
Документ = ПостроительDOM.Прочитать(ЧтениеXML);
ПостроительСхем = Новый ПостроительСхемXML;
Схема = ПостроительСхем.СоздатьСхемуXML(Документ.ЭлементДокумента);
НаборСхем = Новый НаборСхемXML;
НаборСхем.Добавить(Схема);
Фабрика = Новый ФабрикаXDTO(НаборСхем);

Пример нашел в инете. Функция СоздатьСхемуXML возвращает неопределено даже на файлах сгенерированных 1С.
1 Serginio1
 
28.07.14
17:09
Зачем столько лишних буков?

Фабрика = СоздатьФабрикуXDTO(ИмяФайла);

А вот файл должен быть схемой XSD
wiki:XML_Schema
2 Dunstan
 
28.07.14
17:12
Ну так я хочу из XML получить его схему XSD!
3 sapphire
 
28.07.14
17:16
(2) Это все равно, что вырастить из колбасы свинью.
4 Serginio1
 
28.07.14
17:18
Если хочешь создать схему из Xml файла то пользуйся
http://msdn.microsoft.com/ru-ru/library/vstudio/x6c1kb0s(v=vs.100).aspx

или
http://www.cyberforum.ru/csharp-beginners/thread322747.html
5 Apokalipsec
 
28.07.14
17:18
(2) СП говорит в каких случаях возвращает метод неопределено.
Попробуйте онлайн конвертеры, которые на основании хмлки построят вам схему.
6 Serginio1
 
28.07.14
17:18
Только учти что типы будут все строковые
7 Serginio1
 
28.07.14
17:38