I am fine with a representational XML which depicts the contents of the tree with the data for each node --- my idea is I would parse the XML and re-create the structure inside my program (which is pretty much what I had in mind for supporting BlockSCAD).
[delayed]