Ich bringe
XPath ins Spiel, weil man damit quasi in einem Rutsch die relevanten Knoten enthält und sich den rekursiven Ansatz komplett spart. Das ist der Vorteil. Der Nachteil ist, dass die
XML-Datei komplett im Speicher hängt. Wenn sie nicht zu groß ist, dürfte das aber egal sein.