Поделитесь в соцсетях

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

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

 

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

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

	Возврат СтрокаХМЛ;

КонецФункции

 

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


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

Недостаточно прав для комментирования