Опять при работе с потоком, созданным НЕ как файл, возникла ошибка с "кодировками":
Процесс такой: создаю документ, и подменяю RT-поле на сгенерированное.
Что странно, - при создании нового документа из шаблона и начальной перегонкой всех item'ов с помощью CopyAllItems, последующего сохранения и вызова импорта всё было хорошо, а путём создания не из шаблона и последующих тех же действий возникла эта ошибка.
DXL вычитываю и записываю так:
Почитал здесь о кодировках... Потом вспомнил, что док выгружается в UTF-8, но без BOM (когда-то пересохранил в блокноте док и туда добавился этот начальный символ, и потом этот док отказался импортироваться), решил проверить, какой первый символ dxl. Оказалось, что символ с кодом 10 (EOL_LF).
Поудалял начальные и конечные переводы строк, и док стал успешно загружаться!
DXL importer operation failed {4522}:
<?xml version='1.0'?>
<DXLImporterLog>
<fatalerror>Unable to recognize or load XML reformatter input character set</fatalerror>
<warning id='7031'>Import operation incomplete; 0 notes(s) imported successfully</warning>
<error>DXL importer operation failed</error>
</DXLImporterLog>
Процесс такой: создаю документ, и подменяю RT-поле на сгенерированное.
Что странно, - при создании нового документа из шаблона и начальной перегонкой всех item'ов с помощью CopyAllItems, последующего сохранения и вызова импорта всё было хорошо, а путём создания не из шаблона и последующих тех же действий возникла эта ошибка.
DXL вычитываю и записываю так:
Visual Basic:
sDxlDocument = stream.ReadText(, EOL_LF)
Call stream.WriteText(sDxlDocument, EOL_LF)
Почитал здесь о кодировках... Потом вспомнил, что док выгружается в UTF-8, но без BOM (когда-то пересохранил в блокноте док и туда добавился этот начальный символ, и потом этот док отказался импортироваться), решил проверить, какой первый символ dxl. Оказалось, что символ с кодом 10 (EOL_LF).
Поудалял начальные и конечные переводы строк, и док стал успешно загружаться!
Последнее редактирование: