Вход | Регистрация

1С:Предприятие ::

Метки: 

Как убрать пространство имен в пакете XDTO

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

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

это легко делается с помощью ЗаписьXML, зачем ты используешь фабрику и пространство имен, если они тебе не нужны в конечном xml?
   pupurum
 
5 - 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.Закрыть();

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


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует