Au, ha... wie erklärt man denn sowas?
hab grade versucht das zu beschreiben... das ging total schief :)
Versuch 2
Also du brauchst auf jeden Fall für jedes Verzeichnis:
Eine ID
einen Namen
einen Parent
und nach möglichkeit noch
ein Pfadtiefe das macht das Einrücken einfacher
dann mußt Du das ganze nicht in einer herkömmlichen Schleife (for while ect.) druchlaufen sondern indem Du die funktion aus sich selbst heraus erneut aufrufst und somit den Pfad wirklich verfolgst:
bei mir heißt das "checkchild" da prüfe ich ob eintrag X kindelemente hat. Wenn ja, prüfe ich die Kindelemente wiederum auf Kindelemente, indem ich die Funktion aus sich selbst mit neuen parametern aufrufe. das ganze geht solange bis ich keine kindelemente mehr finde.
siehe dazu auch: http://de.wikipedia.org/wiki/Rekursion
gruß, der Hilker