Back to top

Удалить недопустимые символы XML

Опубликовано e-1c@mail.ru - ср, 03/29/2017 - 16:27

Как удалить недопустимые символы XML?

При работе с XML бывает возникает ошибка разбора XML, т.к. в нем есть символы которые не предусмотрены для использования в файлах такого типа. И для того чтобы их находить в платформе 1С 8 есть метод "НайтиНедопустимыеСимволыXML". Испольлзовать его можно следующим способом:

Функция УдалитьНедопустимыеСимволыXML(СтрокаХМЛ)
 
	Позиция = НайтиНедопустимыеСимволыXML(СтрокаХМЛ);
	Пока Позиция <> 0 Цикл
		НедопустимыйСимвол = Сред(СтрокаХМЛ, Позиция,1)
		СтрокаХМЛ = СтрЗаменить(СтрокаХМЛ, НедопустимыйСимвол, "");
		Позиция = НайтиНедопустимыеСимволыXML(СтрокаХМЛ);
	КонецЦикла; 
 
	Возврат СтрокаХМЛ;
 
КонецФункции 

Для ускорения поиска можно при определении позиции недопустимого символа, внутри цикла, передавать в функцию поиска начальную позицию поиска

Позиция = НайтиНедопустимыеСимволыXML(СтрокаХМЛ, Позиция);