|
|
|
Re: Loading XMI files in Eclipse Indigo [message #859233 is a reply to message #858941] |
Fri, 27 April 2012 14:22 |
Ed Merks Messages: 33136 Registered: July 2009 |
Senior Member |
|
|
Olaf,
Comments below.
On 27/04/2012 1:25 PM, Olaf Burdziakowski wrote:
> I use such a code fr EMF:
>
> EPackage.Registry.INSTANCE.put(CreConfigDirPackage.eNS_URI,
> CreConfigDirPackage.eINSTANCE);
>
> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xml",new
> CreConfigDirResourceFactoryImpl());
>
> ResourceSet rs = new ResourceSetImpl();
>
> rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xml",
> new CreConfigDirResourceFactoryImpl());
> String sFile =
> "c:\\Users\\Olaf\\ORGA\\Java\\DeployToDatabase\\cre\\config.dir.xml";
> URI resourceURI = URI.createURI("file:/" + sFile);
Better to use URI.createFileURI because this approach doesn't convert \
to / and \ isn't a segment separator in a URI so you're likely to have
problems with any relative cross document references.
> XMLResourceImpl res = (XMLResourceImpl)
> rs.createResource(resourceURI);
> HashMap options = new HashMap();
> options.put("LAX_FEATURE_PROCESSING", Boolean.TRUE);
> //open Stream
> m_pFIS = new FileInputStream(sFile);
> //load xml
> res.load(m_pFIS, options);
> // close stream
> m_pFIS.close();
It's also much easier to use rs.getResource(resourceURI, true) than
doing all these manual steps. You can put default options in
rs.getLoadOptions().
> CreConfigDir.DocumentRoot rootCCD =
> (CreConfigDir.DocumentRoot) res.getContents().get(0);
> ListType list = rootCCD.getList();
> EList<FileType>eList=list.getFile();
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Powered by
FUDForum. Page generated in 0.01826 seconds