|
Как правильнее восстановить из xml иерархический справочник
| ☑ |
0
suvolod
24.02.12
✎
15:00
|
Нужно написать обмен между двумя конфигурациями. Универсальный обмен данными не подойдет, ввиду того, что одна из конфигураций вообще нетиповая. Хочу запрограммировать такой обмен через Чтение/Запись XML, но возник вопрос с переносом иерархических справочников.
С сохранением никаких проблем вроде нет - для каждого переносимого элемента буду сохранять родителя и уровень вложенности. Но вот как правильнее восстанавливать данные из такого файла? На ум приходит только несколько раз перечитывать XML файл, создавая вначале группы в корне, затем группы 1-го уровня, 2-го, n-1. И уже в конце переносить элементы. Но, с учетом того, что обмен планируется постоянный, а значит каждый раз из общей выгрузки надо будет брать лишь несколько позиций, да еще с многократным последовательным чтением XML, мне такой подход кажется жутко неоптимальным.
|
|
1
DexterMorgan
24.02.12
✎
15:09
|
Все равно придешь к КД xD
|
|
2
suvolod
24.02.12
✎
15:18
|
это вряд-ли... на самом деле первая конфа - это вообще не 1С, а S-маркет. И с нее мне будут выгружать данные в формате xml. По крайней мере, с разработчиком от s-маркета мы предварительно договорились о таком формате обмена.
|
|
3
DrShad
24.02.12
✎
15:21
|
а сделать такой же формат как в КД? но уже в вашем обмене
|
|
4
DrShad
24.02.12
✎
15:21
|
и не нужно дважды читать или трижды читать XML - есть рекурсии
|
|
5
suvolod
24.02.12
✎
15:26
|
хотелось-бы... но пока договоренности об этом достигнуть не удалось. Все, что нам пообещали - просто "выгрузить все, как получиться", а дальше уже я должен разбираться, группировать, строить иерархию... Ладно, получается, пока других вариантов нет.
|
|
6
DrShad
24.02.12
✎
15:27
|
(5) рекурсия тебе чем не подходит?
|
|
7
suvolod
24.02.12
✎
15:37
|
поясни про рекурсию? xml-файлы, насколько знаю, можно читать только последовательно. Там рекурсию не замутишь.
|
|