da du selber Referenzen verwendest, aber in
XML einen Index nutzt, wirst immer suchen müssen.
zum Optimieren:
du könntest wärend des Ladens ein(e) Array/Liste führen, wo du die erstellten Punte und ihren Index speicherst, zum schnellerem Suchen.
B und C könnten als Unterknoten von A gespeichert sein, dann muß man da nicht mehr suchen
D als Unterknoten von B = ebenfalls kein suchen
in C kommt ein to="D", da D ja schon in B drin ist
oder ein to="A.B.D", samt schnellem Suchpfad