Я нарисовал диаграмму классов Visual Paradigm 8 и экспортировал проект как файл XMI 2.1 (Export for UML2). поэтому есть два файла (test.xmi.uml
и test.xmi.profile.uml
). Для разбора test.xmi.uml
я написал Java-код, используя затмение UML2 и эдс:Использование Eclipse UML2 для синтаксического анализа файла XMI с Visual Paradigm
ResourceSet set = new ResourceSetImpl();
set.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
set.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource res = set.getResource(URI.createFileURI("C:\\test.xmi.uml"), true);
EObject eobj = res.getContents().get(0);
но выходной объект (eobj
) является AnyTypeImpl
, который не может быть прочитан очень хорошо. Что делать, чтобы получить хорошо отформатированные объекты, такие как org.eclipse.uml2.uml.Model
объектов, разобрав этот файл?