我正在尝试使用EMF加载XML文件,我使用以下代码在XMLArtefactAdapter.java中执行此操作:
构造():
module.exports = function(app, db) {
app.post('/notes', (req, res) =>
{
console.log(req.body)
res.send('Hello')
});
};
parse()方法:
ResourceSet set = new ResourceSetImpl();
//registering factory
set.getResourceFactoryRegistry()
.getExtensionToFactoryMap()
.put
(Resource.Factory.Registry.DEFAULT_EXTENSION,new XMLResourceFactoryImpl());
我正在从我的Main类执行此代码片段:
//parsing XML
try {
String absolutePath = file.getAbsolutePath();
URI uri = URI.createFileURI(absolutePath);
Resource resource = resourceSet.createResource(uri);
resource.load(Collections.EMPTY_MAP);
System.out.println("LOADED");
} catch (IOException e) {
System.out.println(e.toString());
}
但是,我在运行此代码时遇到错误。
Path path = Paths.get("C:\\Users\\Srijani\\Desktop\\book.xml");
XMLArtefactAdapter xmlAdapter = new XMLArtefactAdapter(path);
xmlAdapter.parse();
请注意以下事项: 我的Plugin.xml
org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Package with uri 'null' not found. (file:/C:/Users/Srijani/Desktop/plugin.xml, 3, 9)
知道为什么会这样吗? 在此先感谢!
答案 0 :(得分:1)
EPackage uri是EPackage的一种公共标识符。它不应该是日食uri。
通常,名称空间URI是一个http url,提供有关EPackage提供程序,ePackage名称和版本的一些基本信息。 例如:
<extension point="org.eclipse.emf.ecore.generated_package">
<package
uri="http://www.eclipse.org/emf/2002/Ecore"
class="org.eclipse.emf.ecore.EcorePackage"
genModel="model/Ecore.genmodel"/>
</extension>
你应该: