• This article is terrible!  You're not really saying anything! 

    I think the real lesson here is that you made the decision to utilize XML (A technology to which you seem very unfamiliar) extensively without investigating the technology and testing your ideas in a sandbox environment.  XML is great at what it does but why would you use XML in this application when the database already provides your storage mechanism and you did not need to share data between heterogeneous systems...Frankly this use of XML adds another layer of complexity with no benefit.

    You would be much better off utilizing a basic "domain collection/object model" architecture where domain objects are populated with data from your database...Recursion would have been easier and much faster...