Как записать строку ХМЛ в Хранилище значение? #792425


#0 by totparen
Подскажите как обойти лишние движения с файлом. Хочу в хранилище значений записать данные файла ХМЛ. ФайлХранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Файл.ПолноеИмя),СтепеньСжатия); Только не создавать до этого Файл.ПолноеИмя для того, что бы его записать в хранилище и потом удалить. Может как-то можно ЧтениеXML сразу записать в Хранилище?
#1 by Лефмихалыч
зачем ЧтениеXML сохранять в хранилище? Какой в этом смысл? Почему не подходит хранить собственно файл xml?
#2 by бомболюк
или строку xml
#3 by totparen
я так и сохраняю, файл в хранилищеЗначений. Только когда у меня есть стрка ХМЛ, мне приходится её специально записывать во временный файл, потом этот файл записывать в хранилище значений, а потом удалять. Мне кажется можно как-то исключить из этой цепочки временный файл.
#4 by Defender aka LINN
ХранилищеЗначения (ValueStorage) На основании значения Синтаксис: Новый ХранилищеЗначения(<Значение>, <АлгоритмСжатияДанных>) Параметры: Тип: Произвольный. Значение, которое должно быть помещено в хранилище. Тип: Произвольный. Произвольный. Произвольный. Произвольный. Произвольный. Произвольный.
#5 by Defender aka LINN
+ Хотя одиныснеги, как правило, тупые.
#6 by totparen
Однако, как самокритично.
#7 by Defender aka LINN
Это ты в зеркало сказал, видимо?
#8 by Lexey_
а зачем Х3? Почему не сохранять в объект строкового типа?
#9 by МимохожийОднако
Пиши значение напрямую без временных файлов. +1
#10 by totparen
Существует справочник ФАЙЛЫ, у него реквизиты "Данные". Файл может быть и типа XML, и типа BMP, и что угодно. Нужно сохранить возможность, что бы можно было сохранить любой элемент справочника на диск, не анализируя при этом какой тип данных находится в хранилище.
#11 by totparen
Короче пришел к выводу, что без временного файла не обойтись. Так как в хранилище значений пишется ДвоичныеДанные, а его конструктор предполагается только на основе файла.
#12 by МимохожийОднако
На основании значения Синтаксис: Новый ХранилищеЗначения(<Значение>, <АлгоритмСжатияДанных>) Параметры: Тип: Произвольный. Значение, которое должно быть помещено в хранилище ... Я к тому, что значение может быть строковым.
#13 by 4St
Если сможешь предварительно закодировать строку с XML в base64, то можешь воспользоваться Base64Значение. Еще посмотри, как ДвоичныеДанные сериализуется через ЗначениеВСтрокуВнутр или через СериализаторXDTO.XMLСтрока - возможно, в обратную сторону тоже получится. P.S. Кажется, мы снова в одном направлении работаем.
#14 by Вуглускр1991
Если вместо XML делать фастинфосет, то его представление как двоичные данные доступно без сохранения в файл.
#15 by totparen
не знаком с этим. Есть пример?
#16 by Zhuravlik
+1 не понял про "Только когда у меня есть стрка ХМЛ, мне приходится её специально записывать во временный файл" - а зачем ее записывать? Цель какая?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям