Как сериализовать древовидные узлы в VB6? - PullRequest
0 голосов
/ 17 мая 2010

Как мы можем сериализовать узлы дерева в VB6?
Я не могу понять, как пройти и сохранить отношения между узлами для сериализации.

Ответы [ 2 ]

1 голос
/ 17 мая 2010

Как вы генерируете ключи для узлов? Поскольку ключи должны быть уникальными, если вы используете схему, которая включает идентификацию родителей, вы сможете восстановить иерархию по ним.

0 голосов
/ 15 июня 2010

В VB6 я использовал для сериализации узлов дерева в XML-файлах.Это легко читается обратно в программу, и имеет дополнительное преимущество в том, что он полностью читаемый и редактируемый формат.Использование вложенного формата XML позволяет легко сохранять отношения между узлами.Обычно я загружал XML-файл в древовидную структуру одновременно, а затем просматривал его коллекцию Nodes, но вы также можете просмотреть XML-файл, используя встроенную в синтаксический анализатор MSXML модель DOM.

Единственный недостаток -введение зависимости от синтаксического анализатора MSXML, но если у вас уже есть подпрограмма установки, это не должно иметь большого значения.Кроме того, благодаря Internet Explorer, MSXML 3.0 развернут почти повсеместно, если вас это беспокоит.Имейте в виду, что 3.0 является последней версией, работающей на платформах Windows 9x / ME, но сейчас она устарела, и Microsoft рекомендует использовать MSXML 6.0 на более новых версиях.

Проверьте эту ссылку (в частности, «Сохранить узлы (вложенные)» , а не тот, который создает «плоский» XML-файл) для примера такого подхода: http://www.devx.com/vb/Article/9707/0/page/4. Есть пример проекта, который вы можете загрузить, ядумаю, но логика действительно не очень сложна.Убедитесь, что вы добавили ссылку на MSXML в IDE!

...