Hm, "completely independent" was a bit strong. In some way the internal representation has to represent the structure of the data and if the data is tree structured then it is likely that the internal representation will be of a treeish nature.
My worry with the OP however is that it focuses on solving an implementation problem using specific tools rather than finding the best set of tools to solve the actual problem. In fact Tree::DAG_Node is a strong contender for "best tool", especially when you discard the XML component as the red herring that it really is.
Update: Doh! s/read/red/
Perl reduces RSI
- it saves typing