|
1с 7.7 Проверка недопустимых символов XML | ☑ | ||
---|---|---|---|---|
0
dimm7310
08.06.20
✎
09:20
|
Имеется выгрузка на сайт данных о товарах.
Формирование XML на основе objXML = CreateObject("MSXML2.DOMDocument"); Видимо где-то в в выгружаемых данных есть недопустимые символы . К сожалению в 7.7 нет штатной НайтиНедопустимыеСимволыXML(). Может быть есть какие - то способы , что бы анализировать строку (например наименования товаров) перед выгрузкой ? |
|||
1
ДенисЧ
08.06.20
✎
09:22
|
Найти() из 77 уже выпилили?
|
|||
2
NorthWind
08.06.20
✎
09:27
|
Не претендую на то что решает все возможные проблемы, но мне помогло.
Функция СтрокаHTML (ВхСтрока) Результат = ВхСтрока; МассивИзменений = Новый Массив; МассивИзменений.Добавить (Новый Структура ("Что,НаЧто", "&", "&")); МассивИзменений.Добавить (Новый Структура ("Что,НаЧто", "<", "<")); МассивИзменений.Добавить (Новый Структура ("Что,НаЧто", ">", ">")); МассивИзменений.Добавить (Новый Структура ("Что,НаЧто", """", """)); МассивИзменений.Добавить (Новый Структура ("Что,НаЧто", "'", "'")); Для Каждого Элем из МассивИзменений Цикл Результат = СтрЗаменить (Результат, Элем.Что, Элем.НаЧто); КонецЦикла; Возврат Результат; КонецФункции |
|||
3
dimm7310
08.06.20
✎
09:28
|
(1) знать бы что искать, где взять список всех недопустымых символов XML
|
|||
4
dimm7310
08.06.20
✎
09:29
|
(2) спасибо, попробую
|
|||
5
NorthWind
08.06.20
✎
09:30
|
единственное что - для клюшек из нее надо будет выкинуть контейнеры. Ну это не проблема, думаю
|
|||
6
NorthWind
08.06.20
✎
09:33
|
(3) там, кстати, может еще зависеть и от кодировки. Проблема может быть, например, в связи с тем что вы при формировании XML используете кодировку windows-1251, а при формировании сталкиваетесь с символами Unicode, которые не входят в CP-1251, и ваша программа ведет себя каким-то непредусмотренным образом при этом.
|
|||
7
dimm7310
08.06.20
✎
10:11
|
"единственное что - для клюшек из нее надо будет выкинуть контейнеры." - что за контейнеры?
|
|||
8
NorthWind
08.06.20
✎
10:14
|
(7) Контейнера "массив" в том виде, в котором он есть в восьмерке, в клюшках нет. Структуры тоже.
|
|||
9
ДенисЧ
08.06.20
✎
10:15
|
(3) В стандарт XML заглянуть - не предлагать?
|
|||
10
dimm7310
08.06.20
✎
10:25
|
(8) Это переделал (таблица значений)
|
|||
11
dimm7310
09.06.20
✎
08:21
|
(2) не помогло, все выгружаемые строки фильтровал через функцию
|
|||
12
Злопчинский
09.06.20
✎
11:31
|
ну сформируй иксемель. Открой браузером. получишь сообщение об ошибке. посмотришь глазками.
Проблема принципиальная в чем хотя бы для начала без всяких технологий и стандартов определить норма/ненорма и примерное место. и если глазами не видно - хекс-редактором отсмотреть... ? или я чего-то не понимаю? |
|||
13
NorthWind
09.06.20
✎
14:40
|
(11) без файла сказать что-либо сложно.
|
|||
14
NorthWind
09.06.20
✎
14:46
|
(3) в принципе, соответствуют таковым в HTML. Можно погуглить "список литералов HTML". Функция заменяет только основные, наиболее часто встречающиеся. Возможно, у вас более сложный случай.
|
|||
15
dimm7310
09.06.20
✎
16:49
|
выяснилось то встречаются символы (стрелочка вправо)
|
|||
16
NorthWind
09.06.20
✎
16:52
|
(15) в таком случае можно дописать мою функу в соответствии, например, с таблицами вот здесь http://webbuddy.ru/
|
|||
17
dimm7310
10.06.20
✎
10:23
|
(16) да, сделал заполнение ТЗ запрещенных символов с 1 -32 . Проверяю
Спасибо |
|||
18
Franchiser
гуру
10.06.20
✎
10:53
|
(17) где нашел список недопустимых символов? Тут не вижу: http://webbuddy.ru/
|
|||
19
dimm7310
10.06.20
✎
11:06
|
просто задал в цикле все символы с 1-32
|
|||
20
NorthWind
10.06.20
✎
11:47
|
(18) Там сайт сделан так что на страницу по ссылке не перейдешь. Вверху справа выбрать HTML (там очень мелко, надо присмотреться), потом в меню слева уйти в самый конец, "HTML - литералы".
|
|||
21
Salimbek
10.06.20
✎
12:57
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |