Имя: Пароль:
1C
1С v8
Формирование XML с помощью XDTO (пакет XDTO)
0 Morohon
 
27.11.16
20:52
Добрый день.
Формирую xml с помощью созданной xml схемы. Выходной xml должен получится что-то вроде:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <LocalProducts>
          <LocalProduct name = "" ... />
        </LocalProducts>
</ROOT>

Формируя через фабрику XDTO и записывая в XML получаю:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns="Здесь namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;
    <LocalProducts>
          <LocalProduct name = "" ... />
        </LocalProducts>
</ROOT>

Так вот отличие именно в аттрибутах у корневого элемента ROOT. Они проставляются автоматически при записи. Как запретить их выставление, подскажите пожалуйста
1 kev789
 
27.11.16
21:25
ЭТО ЖЕСТЬ!!! Главное не пойму чем им это мешает принимать файлы???
2 kev789
 
27.11.16
21:26
Как они меня достали с этим xml. Ну было ж все на dbf, работало, нафиг им xml....
3 kev789
 
27.11.16
21:29
По теме. Сделал так, вроде работает

Процедура ЗаписатьФайл(ИмяФайла, Данные)
    
    ПолноеИмяФайлаВывода      = ПолучитьПуть() + ИмяФайла + ".xml";
    ИмяПредварительногоФайла  = ПолучитьПуть() + ИмяФайла + "._xml";
    
    Данные.Проверить();
    
    Запись = New ЗаписьXML;
    Запись.ОткрытьФайл(ИмяПредварительногоФайла);
    Запись.ЗаписатьОбъявлениеXML();
    
    Фабрика.ЗаписатьXML(Запись, Данные, "ROOT" );
    
    Запись.Закрыть();
    
    //Удаление xmlns
    //Тег должен выглядеть так <ROOT >.
    
    ЗаписьТ = Новый ЗаписьТекста(ПолноеИмяФайлаВывода);
    ЧтениеТ = Новый ЧтениеТекста(ИмяПредварительногоФайла);
    
    СтрокаФайла = ЧтениеТ.ПрочитатьСтроку();
    Пока СтрокаФайла <> Неопределено Цикл
        Если СокрЛ(Лев(СтрокаФайла,5)) = "<ROOT" Тогда
            ЗаписьТ.ЗаписатьСтроку("<ROOT>");
        Иначе
            ЗаписьТ.ЗаписатьСтроку(СтрокаФайла);
        КонецЕсли;
        СтрокаФайла = ЧтениеТ.ПрочитатьСтроку();
    КонецЦикла;
    ЗаписьТ.Закрыть();
    
    Попытка
        УдалитьФайлы(ИмяПредварительногоФайла);
    Исключение
    КонецПопытки
    
КонецПроцедуры
4 Mauser
 
27.11.16
21:30
(2) Будешь пищать - на JSON перейдем.
5 kev789
 
27.11.16
21:31
(4)Да мне пофиг, чем чаще переходите тем лучше, ток ТЗ писать научитесь
6 kev789
 
27.11.16
21:32
А то у Вас в тз Одно, в схемах другое, а надо третье....
7 Mauser
 
27.11.16
21:38
(5) Так пофиг или достало? Ты уж определись.
8 kev789
 
27.11.16
21:39
(7)" А то у Вас в тз Одно, в схемах другое, а надо третье....
"

Это достало

А переходить надо почаще конечно, кризис, а тут работенка
9 Franchiser
 
гуру
28.11.16
00:24
Вы что, из одной компании?
10 Mauser
 
28.11.16
00:51
(9) Нет, мы тезки
11 Mauser
 
28.11.16
00:52
(8) Переходи, чо. Не могу задерживать
12 Morohon
 
28.11.16
11:38
(1) не я один вожусь с этим? ;) Спасибо за решение)
13 kev789
 
28.11.16
21:49
(12) Обращайся.
А такое тебе не слали:
"Спасибо за информацию, ТЗ и схемы подправим.
Пока просьба использовать данные из колонки «Тип данных SQL».
В скобках указывается максимально допустимая длина.
В xml максимальная длина идентична SQL."

Как разрулил?
14 Morohon
 
01.12.16
01:14
(13) Увы, не слали пока еще.

Схемы у них та еще параша. Пришлось самому переписывать.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший