|
v7: Существует ли аналог НайтиНедопустимыеСимволыXML в 7.7 ? |
☑ |
0
dimm7310
27.08.19
✎
12:52
|
На сайт выгружается большой XML файл, где то в нем есть недопустимый(е) символы. Файл не проходит проверку валидности на сайте.
Возможно ли при формировании файла проверять все строки на недопустимые символы? Не смог найти в инете решения для 7.7
|
|
1
Злопчинский
27.08.19
✎
12:56
|
составь перечень недопустимых символов или допустимых символов и проверяй при формировании.
часто такими символами становятся символ табуляции и перевод строки
|
|
2
Ёпрст
гуру
27.08.19
✎
13:00
|
(0) ну дый проверяй xml по схеме, делов то.
|
|
3
dimm7310
27.08.19
✎
13:13
|
(1) Может есть полный список таких символов?
|
|
4
dimm7310
27.08.19
✎
13:18
|
сейчас при попытке открыть xml файл
такой или похожий символ можно получить по Alt26, в блокноте поиском не нашел.
строка 56944 пустая
|
|
5
Карст
27.08.19
✎
13:43
|
оченно если копируют со всяких оутлоков в 1С , много неожиданных символов можно узнать ))
|
|
6
MWWRuza
гуру
27.08.19
✎
15:17
|
Я вот такую функцию, правда для немного других, но похожих, целей писал:
Функция ПроверитьСтроку(Стр)
ВалидСимв = "йцукеёнгшщзхъфывапролджэячсмитьбю.ЙЦУКЕЁНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,1234567890-=_+*%&$#№~*“”/\|@#qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:""ZXCVBNM<>«»`()!? ±";
Если СтрДлина(Стр) < 84 Тогда
Сообщить(Стр);
КонецЕсли;
Сч = 0;
Для Сч = 1 По СтрДлина(Стр) - 1 Цикл
Провсимв = Сред(Стр, Сч, 1);
Если Найти(ВалидСимв, ПровСимв) = 0 Тогда
Сообщить(Стр);
КонецЕсли;
КонецЦикла;
КонецФункции
Тут наоборот, список допустимых для моей задачи символов. И если в нем не находится проверяемый символ, то считается недопустимым и выводится соответствующее сообщение...
|
|
7
MWWRuza
гуру
27.08.19
✎
15:20
|
(5)Да, именно так. Проблемы у клиентов возникают иногда, именно после загрузки накладной из присланного по почке файла exel.
|
|
8
NikVars
28.08.19
✎
12:09
|
(7) Есть еще в регламентированных отчетах, которые умеют выгружаться процедура ЗаписатьУзелВФайл, там есть обработка спец символов. Может будет полезно.
|
|
9
MWWRuza
гуру
28.08.19
✎
12:57
|
(8)Это немного другое... Это "экранирование" всяких кавычек, и т.п., вот из комментария: При формировании символьной строки сиволы &, <, >, ", ' должны заменяться на последовательность символов &, <, >, ", &apos соответственно.
То-есть, это символы допустимые, но должны правильно передаваться.
А тут, как я понимаю, всякие табы, ентеры и т.п...
|
|
10
NikVars
29.08.19
✎
09:24
|
(9) Ага, понимаю. Или удаляй из строки все символы с кодами меньше 32.
|
|
11
ProgAL
29.08.19
✎
09:37
|
Посмотри в любой типовой функцию в общем модуле ОбщегоНазначения.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой