views:

331

answers:

2

I'm trying to programmatically extract information from an Enterprise Architect model (saved in an XMI file) - I need it to generate some reports, but I don't want to go so far as to create an EA add-in. Is there a C# XMI parser library anywhere?

I could of course generate XMI parsing code from its XML schema, but that would be my second option.

+1  A: 

Ok, what I've discovered so far is that there are different versions of XMI. To quote Wikipedia:

Several versions of XMI have been created: 1.0, 1.1, 1.2, 2.0 and 2.1. The 2.x versions are radically different from the 1.x series.

I exported EA model both to 1.1 and 2.1 and the exports really do look different, starting from top XML elements. So I guess when talking about a MI parser, you first have to specify which XMI version you are interested in.

Igor Brejc
+2  A: 

Do you really need an XML? EA saves its information in a database, it should be easy to query. Another way is to use Automation interface (in C# you will need to import Interop.EA) to gain access to everything EA stores and also to diagrams that are generated.