ASM has the tree api which can basically give you the full structure of the bytecode. Seems like it's pretty easy to use that or even the visitor api to print that out in XML or some other format. Not sure what use that is though.
Translating back into Java is a decompiler's job and ones like Jad do ok. But that's hard because a) there is information lost during the source to bytecode translation and b) there is ambiguity in that multiple source can yield the same byte code.
If you actually want to go from bytecode to another high level language directly, that's going to be tough to do both comprehensively and meaningfully, for all the same reasons decompiling is hard, except even worse into another language.
If you want to go from Java source to another language's source, this has been done before, as in this Java-to-Python converter. That's somewhat easier as you can convert Java to an AST with something like Antlr, or the built-in Java compiler tools, Project Jackpot, etc. Even then, I presume you won't get very idiomatic code in the target language.