Имя: Пароль:
1C
 
Как убрать пространство имен в пакете XDTO
0 pupurum
 
15.06.18
12:08
Создал файл xml через пакет XDTO.
Код приблизительно такой

Пакет = ФабрикаXDTO.Пакеты.Получить("НекоеПространствоИмен");
    Свойство = Пакет.КорневыеСвойства.Получить("SWIFT_msg_fields");
    SWIFT_msg_fields = ФабрикаXDTO.Создать(Свойство.Тип);

ЗаписьXML = Новый ЗаписьXML;
    ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("windows-1251", "1.0", Ложь);
    ЗаписьXML.ОткрытьФайл("C:\ИмяФайла.xml", ПараметрыЗаписиXML);
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, SWIFT_msg_fields);
    ЗаписьXML.Закрыть();


В результате получил такую XML:
<?xml version="1.0" encoding="WINDOWS-1251"?>
<SWIFT_msg_fields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns="НекоеПространствоИмен"></SWIFT_msg_fields>

Нужно было получить:

<?xml version="1.0" encoding="WINDOWS-1251"?>
<SWIFT_msg_fields></SWIFT_msg_fields>

Как избавиться от всех пространств имен внутри тега SWIFT_msg_fields и вобще, как избавляться от пространств имен в XDTO?
1 Cool_Profi
 
15.06.18
12:09
СтрЗаменить() не предлагать?
2 dezss
 
15.06.18
12:10
(0) а нафейхоа, если можно было просто через ЗаписьXML сделать?
3 pupurum
 
15.06.18
12:16
(1) Нет, надеюсь на какой-то "красивый" способ. Может есть просто свойство, о котором я не знаю. (2) Вы о чем именно?
4 dezss
 
15.06.18
12:20
(3) Нужно было получить:

<?xml version="1.0" encoding="WINDOWS-1251"?>
<SWIFT_msg_fields></SWIFT_msg_fields>

это легко делается с помощью ЗаписьXML, зачем ты используешь фабрику и пространство имен, если они тебе не нужны в конечном xml?
5 pupurum
 
15.06.18
12:59
Пакет уже сделан, да и привычней как-то.
Под записью XML вы имеете ввиду это:

ЗаписьXML = Новый ЗаписьXML;
    ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("windows-1251", "1.0", Ложь);
    ЗаписьXML.ОткрытьФайл("C:\ИмяФайла.xml", ПараметрыЗаписиXML);
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    ЗаписьXML.ЗаписатьНачалоЭлемента("SWIFT_msg_fields");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.Закрыть();

?
6 dezss
 
15.06.18
13:01
(5) ну да
7 pupurum
 
15.06.18
13:14
Ну ок, если не найду решения, то воспользуюсь, спасибо. Но все же может есть способ контролировать эти вещи в фабрике?
8 Стажер_1С
 
02.07.18
13:29
привет,если разобрался скажи как