gifts2017

Обработка для исправления xml-файлов на предмет присутствия нечитаемых символов

Опубликовал Андрей Чибряков (GoodZone) в раздел Администрирование - Тестирование и исправление

Обработка удаляет из файла нечитаемые символы, которые нередко возникают при выгрузке из баз 1с7.7. Файл может быть любого размера, благодаря последовательному чтению порциями по 50 символов, не возникает переполнение памяти.

Итог работы обработки - новый файл с добавлением "_Новый" к имени файла, в котором уже удалены нечитаемые символы xml. Код открыт, вполне можно использовать при выгрузке.

Скачать файлы

Наименование Файл Версия Размер
Обработка файла xml 81
.epf 7,38Kb
29.08.12
81
.epf 7,38Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. mosAdm (mosAdm) 29.08.12 11:08
(0) а у меня работает XmlNotepad открыл файл, записал и нет не читаемых символов
2. Андрей Чибряков (GoodZone) 29.08.12 11:29
(1) mosAdm, Ну рад за вас! Просто я столкнулся с такой проблемой и не нашел решения, а файл выгрузки огромный, по-новой выгружать - это несколько часов и никаких гарантий что не повторится ошибка. С XmlNotepad не работал, и почему-то у меня сомнения, что он так легко прочитает файл размером с 1.5 Гб. Какие файлы так исправляли? (имеется ввиду размер).
3. Igоr Sаulеviсh (gutentag) 29.08.12 11:32
Судя по описанию - полезная штука!
4. mosAdm (mosAdm) 29.08.12 12:21
(2) GoodZone,

Да Вы правы, файлы мелкие были, большие открывает долго.
5. Сергей (1C82) 28.12.12 04:14
Огромное спасибо ! Вставил в свою загрузку из табличного документа. Прекрасно фильтрует мусор перед загрузкой.
6. Андрей Чибряков (GoodZone) 30.12.12 10:36
(5) Рад , что оказался полезен ))
7. Дмитрий Башинский (bashinsky) 22.08.13 11:10
Нужная обработка. Единственное, при окончании проверки хорошо было бы, если выводилось имя нового файла. А то я проверил свой файл, начал его же загружать, а он мне опять ошибку выдает. Пока не залез в код, не знал что создается новый файл.
8. Андрей Чибряков (GoodZone) 23.08.13 06:34
Я же указал в описании, что создается новый файл, даже на скринах видно )))
9. Дмитрий Башинский (bashinsky) 23.08.13 09:32
(8) GoodZone, и правда. Сразу не заметил.
10. Alex Steiner (OrsoBear) 21.11.14 13:46
Полезная вещица.
Одно время огребал часто такую проблему.
Бухгалтера умудрялись с сайтов брать названия с абы какими символами, и пихать это все в названия номенклатуры и в технические параметры.
А при выгрузке сыпалось с ошибками.
Научился оперативно читать xml
Как баллов поднаберу,
скачаю.
Спасибо за труд!
11. Allexey (alex_4x) 28.11.14 12:39
Не лечит XML.
Как была ошибка "Ошибка преобразования данных XML", так она же и осталась. Файл выгружен из 8.2 стандартной процедурой обмена XML
12. Андрей Чибряков (GoodZone) 01.12.14 11:40
(11) alex_4x, что-то сомнения у меня. Могу протестировать файлик, если конечно актуально.
13. Андрей Чибряков (GoodZone) 01.12.14 11:44
(10) OrsoBear, на здоровье. Могу скинуть так, если есть необходимость.
15. Allexey (alex_4x) 30.12.14 11:35
Короче дело было не в бабине.
Никаких "специальных символов" в XML файле не было оказывается. Просто 1С так коряво разбираеть XML файл, что диву даюсь. Всё отчего, да от того что в качестве схемы используется настройка основанная на метаданных той конфигурации куда загружаешь. Всё здорово, но если в выгруженном файле есть упоминание реквизита, которого нет в той конфе куда загружаешь, то 1С-ный загрузчик не пишет внятно - идите товарищ лесом, у нас такого реквизита не предусмотрено, а вываливается с малопонятной ошибкой "Ошибка преобразования данных XML". Я сделал просто - удалил из файла обработкой строки, где лишние реквизиты были перечислены и всё загрузилось. Так как операция была разовая, это было явно проще, чем констрячить правила обмена. Но конечно сам принцип разбора файла XML в 1С - не радует в том плане, что такое вот сообщение о ошибке - ну прямо скажем малоинформативно. А "удалятор" лишних тегов я сделал универсальный - он на основе метаданных проверяет и удаляет лишнее. Кому надо пишите.
16. Павел Шадрин (NOVOHUDONOSO) 27.06.16 11:49
Помогло при ошибке Ошибка разбора XML:
- [65,1012179]
Фатальная ошибка:
PCDATA invalid Char value 2
SystemId: Огромное спасибо, файл первой загрузки громадный
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа