Joining a mesh hierachy

Is there an efficient way to join a whole mesh hierarchy in order to have a single mesh along with a series of materials and textures?

(Unparenting and joinning each mesh out of tens of meshes manually, is obviously out of the question).

Rather than being so generic, be more specific. Attach an example blend showing what you have to start with and exactly what you are wanting to achieve.