Ошибка при загрузки XML файла

1. Fe9_min 50 12.08.14 11:53 Сейчас в теме
Здравствуйте!
Есть БП 2.0 и программа Форинт.
Раз в месяц происходит загрузка данных из Форинт в БП.
Вчера выдала ошибку:
"Ошибка при вызове метода контекста (Прочитать)
Пока ЧтениеXML.Прочитать() Цикл
по причине:
Ошибка разбора XML - 117951,53
Фатальная ошибка:
xmlParseCharRef: invalid xmlchar value 31"

Лазил по Инету, говорят надо менять <?xml version="1.0" encoding="unicode"?> на <?xml version="1.0" encoding="UTF-8"?>
но у меня в файле только <?xml version="1.0" standalone="yes"?>
Кто с этим сталкивался? Может натыкались на сайты любителей XML [как его можно любить]?
Подскажите...
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RocKeR_13 1363 12.08.14 12:11 Сейчас в теме
(1) buriZa, может да, в кодировке UTF-8 попробовать сохранить (открыть блокнотом, "Сохранить как" и выбрать кодировку UTF-8). Похоже, что недопустимый символ XML используется(можно попробовать провести проверку с помощью стандартной функции НайтиНедопустимыеСимволыXML )
3. Fe9_min 50 12.08.14 13:20 Сейчас в теме
(2) RocKeR_13, нет, не помогло, и encoding="UTF-8" прописывал, и внутри обработки писал Функцию поиска и удаления эти ошибокXML... процесс проходит так:
он пишет, что грузит Контрагентов... ok
а потом ПриходныеНакладные и бах! Ошибочка...
может полазить в той Форинте какой-то... может там Приход не корректно оформлен?
это же "пальцем в небо"...
Во вложение код этого места обработки, где она запинается...
Прикрепленные файлы:
4. Allexe8.1 12.08.14 13:58 Сейчас в теме
(1) buriZa, Символ(31) - это разделители полей (http://unicode-table.com/ru/001F/)
Попробуйте, открывать этот файл через Текстовый документ, убирать этот символ, и уже обработанный текст (строку) открывать в ХМЛ.
Имхо, лучше делать через ДокументDOM - он при инициализации сам эти символы убирает.
5. Fe9_min 50 12.08.14 16:16 Сейчас в теме
(4) Allexe8.1, найти этот символ? "31", это выгрузка оч большой бухг. базы за 5ть дней и там "31" оч много, как на зло)
Нашёл обработки "ДокументDOM" - как я понял перед редактированием он должен прочитать файл, а он выдаёт аналогичную ошибку, что и обработка обмена...
6. Allexe8.1 12.08.14 16:21 Сейчас в теме
(5) buriZa, не "31", а Символ(31)
Т.е.
ТекстДок = Новый ТекстовыйДокумент;
ТекстДок.Прочитать(ИмяФайла);
СтрокаЗагрузки = СтрЗаменить(ТекстДок.ПолучитьТекст(), Символ(31), "");

Можете файл выложить?
7. Fe9_min 50 12.08.14 16:33 Сейчас в теме
(6) Allexe8.1, грубо говоря, через Блокнот символа(31) нет...
файл во вложении.
Прикрепленные файлы:
Копия.xml
10. Allexe8.1 12.08.14 18:13 Сейчас в теме
(7) buriZa, надо не через блокнот смотреть, а через hex-редактор, через Тотал коммандер можно, или far.
Ошибку подтверждаю, чуть позже обновлю пост)

upd. Вобщем, нашел ошибку, вот в этом элементе:
 <Номер_x0020_документа_x0020_поставщика>VF_Ркм-0237986</Номер_x0020_документа_x0020_поставщика>

конкретно в последовательности символов 
xml считает здесь указан символ по шестнадцатеричному коду (1Fh = 31) , а этот символ недопустим, как оказалось.
То есть, нужно заменить все  на другой символ - и потом уже читать. Хотя, странно, как оно оказалось в этом файле)

upd2. Форум тоже эту последовательность выплюнул) еще раз !!
привожу скрин.


upd3. Да, точно - между ! и ! - было оно,
& # x 1 F ;
, только без пробелов. Кстати, могу, ошибиться, но возможно оно было вставлено в файл злонамеренно, другой причины - не вижу.
11. Fe9_min 50 13.08.14 11:16 Сейчас в теме
(10) Allexe8.1, очень помогли! спасибо!!!!
Удалил из кода
& # x 1 F ;

и всё стало на свои места!
На счёт Вашего предположения об умышленном вмешательстве - подумаю, спасибо!
Прикрепленные файлы:
8. Boneman 301 12.08.14 16:37 Сейчас в теме
(1) buriZa, на другом компе попробуй, или под другим профилем.
Я такую ошибку несколько раз видел, именно из за локальных проблем (кэш)
9. Fe9_min 50 12.08.14 16:47 Сейчас в теме
(8) Boneman, у нас терминал и да, пробовал на другом ПК подключаться к терминалу. Есть копия базы на серваке, с ней и колдую под другим профилем, нежели бухгалтер, которая наткнулась на эту ошибку...
12. fixin 4269 08.03.20 12:22 Сейчас в теме
уберит строку #x1F из XML файла
13. user856012 14 08.03.20 17:13 Сейчас в теме
(12) Говорят, есть такое лекарство - "некропостинор", попробуйте принимать.
14. user1487698 03.11.20 18:40 Сейчас в теме
Добрый вечер, срочно нужна помощь
загружали базу данных их одной 1с (8.3) в другую и теперь при выводе печатной формы выдает ошибку
"При чтении XML-описания макета произошла ошибка."
я бухгалтер, ничего в этом не понимаю) как можно исправить
15. FatPanzer 03.11.20 18:45 Сейчас в теме
(14) Нанять программиста.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот