Канонизация и нормализация xml
☑
0
wmonref
22.07.23
✎
15:09
Приветствую!
Необходимо канонизировать и "нормализовать" xml перед его отправкой на сервер.
Использую следующий код для канонизации:
Процедура Отправить()
ТекстXML= ТекстXML();
ТекстXML = СтрЗаменить(ТекстXML,"%ТекДата%",Формат(ТекущаяДата(),"ДФ=""дд-ММ-гггг ЧЧ:мм:сс"""));
КанонXML(ТекстXML);
КонецПроцедуры
Функция ТекстXML()
Возврат
"<?xml version=""1.0"" encoding=""UTF-8""?>
|<root>
|<delivery method=""ONLINE"" />
|<request_timestamp>%ТекДата%</request_timestamp>
|</root>";
КонецФункции
Процедура КанонXML(ТекстXML)
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(ТекстXML);
ПостроительDOM = Новый ПостроительDOM;
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь, Ложь, " ");
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку(ПараметрыЗаписиXML);
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);
ТекстXML = ЗаписьXML.Закрыть();
Канон = Новый ПреобразованиеККаноническомуXML;
ТекстXML = Канон.КанонизироватьВСтроку(ДокументDOM,ТипКаноническогоXML.КаноническийXMLСКомментариями,,);
КонецПроцедуры
Подскажите пожалуйста как "нормализовать" xml ?
1
wmonref
24.07.23
✎
12:57
ап
2
vicof
24.07.23
✎
13:04
XML = Новый КаноническаяЗаписьXML;
Тип = ТипКаноническогоXML.ИсключающийКаноническийXMLСКомментариями;
XML.УстановитьСтроку(ТипКанонизации);
XML.ЗаписатьОбъявлениеXML();
XML.ЗаписатьНачалоЭлемента("Тип");
XML.ЗаписатьКонецЭлемента();
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан