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