To the best of my knowledge, the closest thing to what is desired is portfolio's ... but that's for students to be able to 'extract' activities of their choosing. The code, however, might give you a place to start.
http://docs.moodle.org/22/en/Portfolios
BTW, have been working on a small part of what you are wanting to do ... extracting the files contained in a .mbz backup. Actually, all the information for contents in a course are in the .xml files and related folders.
Here's my scripts link: http://sos.tcea.org/extractscripts.zip
There's a readme contained therein.
Scripts written for Linux/MacOSX. Those OS's come with a utility called xmllint that is used in one of the bash scripts to build 'files' to be parsed by the php scripts contained therein. Would imagine one could find a Windows version of xmllint somewhere.
'spirit of sharing', Ken