|
Сериализация и десериализация ТаблицыЗначений | ☑ | ||
---|---|---|---|---|
0
Kamik-7
28.03.14
✎
12:49
|
Выгружаю ТЗ:
ФайлXML = Новый ЗаписьXML(); ФайлXML.ОткрытьФайл(ИмяФайла); ЗаписатьXML(ФайлXML, Новый ХранилищеЗначения(НекаяТаблицаЗначений, Новый СжатиеДанных(9)), НазначениеТипаXML.Явное); ФайлXML.Закрыть() А как назад загрузить ее теперь? |
|||
1
Maxus43
28.03.14
✎
12:54
|
ты хранилище значений сериализовал, его и получай
|
|||
2
Cube
28.03.14
✎
12:54
|
Что, ПрочитатьXML()?
|
|||
3
Maxus43
28.03.14
✎
12:54
|
сразу ТЗ можно Сериализовать, зачем хранилище?
|
|||
4
Рэйв
28.03.14
✎
12:55
|
Я делаю проще
ЗначениеВФайл(ПутьКФайлу,ТЗ); и ТЗ=ЗначениеИзФайла(ПутьКФайлу); "Входит и выходит.Замечательно выходит!"(С) |
|||
5
Рэйв
28.03.14
✎
12:56
|
Причем у меня там и ссылки и перечисления и всякой фигни бывает
|
|||
6
Cube
28.03.14
✎
12:58
|
(4) (5) Не мешай пилить бабло!
|
|||
7
Рэйв
28.03.14
✎
12:59
|
(6)А... Ну если с этой стороны подходить, то тогда конечно:-)
|
|||
8
Kamik-7
28.03.14
✎
13:17
|
(6) "баблопил", блин :-)
(4) Спасибо! |
|||
9
H A D G E H O G s
28.03.14
✎
13:21
|
(4) Ужасть.
|
|||
10
Kamik-7
28.03.14
✎
13:22
|
(9) Обоснуй
|
|||
11
H A D G E H O G s
28.03.14
✎
13:23
|
Сериализуйте правильно
Сериализатор = Новый СериализаторXDTO(ФабрикаXDTO); ОбъектXDTO = Сериализатор.ЗаписатьXDTO(ТаблицаЗначенийСДанными); ЗаписьFI = Новый ЗаписьFastInfoset; ЗаписьFI.ОткрытьФайл("D:\test\new.fi"); ФабрикаXDTO.ЗаписатьXML(ЗаписьFI, ОбъектXDTO); ЗаписьFi.Закрыть(); |
|||
12
H A D G E H O G s
28.03.14
✎
13:24
|
(11) Ну или писать не в файл, а в Двоичные и хранить в базе.
|
|||
13
H A D G E H O G s
28.03.14
✎
13:24
|
(11) Скорость выше раз в 5, объем меньше - в 3 раза.
|
|||
14
H A D G E H O G s
28.03.14
✎
13:25
|
Десериализовать только (в отличии от XML) на Тонком не получиться, уж не знаю, почему. Лениво в Тонкий движок FI вставлять было наверное.
|
|||
15
Kamik-7
28.03.14
✎
13:33
|
Понаглею :)
как десериализовать из (11) |
|||
16
H A D G E H O G s
28.03.14
✎
14:01
|
ЧтениеFI = Новый ЧтениеFastInfoset;
ТипОбъектаXDTO=ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/core","ValueTable"); ЧтениеFI.ОткрытьФайл("D:\test\new.fi"); ОбъектXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеFI,ТипОбъектаXDTO); ОбъектXDTO.Проверить(); Сериализатор=Новый СериализаторXDTO(ФабрикаXDTO); ТаблицаДанных=Сериализатор.ПрочитатьXDTO(ОбъектXDTO); |
|||
17
H A D G E H O G s
28.03.14
✎
14:01
|
ТипОбъектаXDTO=ФабрикаXDTO.Тип("h t t p://v8.1c.ru/8.1/data/core","ValueTable");
|
|||
18
Kamik-7
28.03.14
✎
14:14
|
(11) че-то у меня ничего не пишет в файл. пустой.
|
|||
19
H A D G E H O G s
28.03.14
✎
14:34
|
(18) Гхм.. Странно. Большое дерево значений записалось на раз, табличный документ тоже записался. А вот табличка из 1 строки - не пишется, пустой файл.
|
|||
20
Kamik-7
28.03.14
✎
14:52
|
структура вообще не пишется
|
|||
21
H A D G E H O G s
28.03.14
✎
14:53
|
(20) Пиши тогда в XML
|
|||
22
Рэйв
28.03.14
✎
15:00
|
(21) Ну вот мы и вернулись в начало сабжа и т.к. в xml не получается - плавно переходим к (4)
:-) |
|||
23
jsmith82
28.03.14
✎
15:02
|
(4) тоже так же делаю
не понимаю это возни с хмл |
|||
24
jsmith82
28.03.14
✎
15:03
|
(11) +1
тоже тема |
|||
25
H A D G E H O G s
28.03.14
✎
15:03
|
(22) В XML получается, в FI не получается.
|
|||
26
H A D G E H O G s
28.03.14
✎
15:03
|
ЗаписьFI = Новый ЗаписьFastInfoset;
заменить на ЗаписьFI = Новый ЗаписьXML; |
|||
27
H A D G E H O G s
28.03.14
✎
15:04
|
Надо поковырять универсальнуювыгрузкувXML, как они там в FI пишуть.
|
|||
28
Леша1с
28.03.14
✎
17:12
|
(11) он не сериализует многие объекты.
(0) А вообще, зачем сериализовать? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |