Ну и в чем проблема?
Берем xml, т.к. он максимально соответсвует "деревянной" структуре, и начинаем его создавать по дереву. При чтении - в обратном направлении.
Xml должен получиться такого вида:
Код:
<node value="aaa">
<node value="bbb" />
<node value="ccc">
<node value="ddd" />
<node value="eee" />
</node>
</node>