My ActiveFacts toolset loads much of the XML content of an ORM file, using the Ruby programming language. I use the nokogiri XML parser (which is based on libxml/expat) to load the entire ORM file to a DOM-like tree, then use XPath queries and other traversals to extract different kinds of information, as you can see in the source code here. Currently I extract all object types, non-derived fact types and constraints, and optionally, the diagram layouts (though my interpretation of the exact positioning of the shapes is inaccurate).
If you want to make use of the information I extract, you could install Ruby and ActiveFacts and write a generator to emit information from my compiled version of the model. You can see my existing generators here - just copy one and change it to suit your needs. You might find it easier to do that than to write a program which works directly from the ORM XML.
Clifford Heath, Data Constellation, http://dataconstellation.com