Имя: Пароль:
1C
1С v8
Замена < > при записи в XML
0 poet
 
23.01.12
16:08
Хочу записать в файл строку
ФайлОбмена.ЗаписатьТекст("<ROW TAB=""0"" LINE=""0"" NAME=""FIRM_EDRPOU>");

все хорошо но "<", ">" получаю в виде "&lt;" и "&gt;" соответственно:
&lt;ROW TAB="0" LINE="0" NAME="FIRM_EDRPOU&gt;


как это побороть?
1 pumbaEO
 
23.01.12
16:12
автор ты гонишь.
   //{ROW
       
       Запись.ЗаписатьНачалоЭлемента("ROW");
       //{Атрибуты
           //
           Запись.ЗаписатьНачалоАтрибута("TAB");
           Запись.ЗаписатьТекст(НомерТаблицы);
           Запись.ЗаписатьКонецАтрибута();
           
           Запись.ЗаписатьНачалоАтрибута("LINE");
           Запись.ЗаписатьТекст(Формат(НомерСтроки, "ЧЦ=15; ЧН="));
           Запись.ЗаписатьКонецАтрибута();
           
           Запись.ЗаписатьНачалоАтрибута("NAME");
           Запись.ЗаписатьТекст(НаименованиеЭлемента);
           Запись.ЗаписатьКонецАтрибута();
       //}
       
       //{VALUE
           //
           Запись.ЗаписатьНачалоЭлемента("VALUE");
           Если ТипЗнч(Значение) <> Тип("Строка") Тогда
               Если ТипЗнч(Значение) = Тип("Дата") Тогда
                   ЗначениеДляЗаписи = Формат(Значение, "ДФ=dd.MM.yyyy");
               ИначеЕсли ТипЗнч(Значение) = Тип("Число") Тогда
                   Если Цел(Значение) <> Окр(Значение, 2) Тогда
                       ЗначениеДляЗаписи = Формат(Значение, "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧН=; ЧГ=0");
                   Иначе
                       ЗначениеДляЗаписи = Формат(Значение, "ЧЦ=15; ЧРД=.; ЧН=; ЧГ=0");
                   КонецЕсли;
               Иначе
                   ЗначениеДляЗаписи = Строка(Значение);
               КонецЕсли;
           Иначе
               ЗначениеДляЗаписи = Значение;
           КонецЕсли;
           Запись.ЗаписатьТекст(ЗначениеДляЗаписи);
           Запись.ЗаписатьКонецЭлемента();
       //}
       
       Запись.ЗаписатьКонецЭлемента();
   //}