这真的让我感到紧张...
我已经启动并运行了所有ecore模型,但无法将XML文件加载到这些模型中,这是我正在使用的代码:
ResultType res = ScheduleTableFactory.eINSTANCE.createResultType();
ByteArrayInputStream is;
try {
/* Read XML file to a string and send it to a buffer */
is = new ByteArrayInputStream((this.xml2String(fileName)).getBytes("UTF-8"));
ResourceSet rs = new ResourceSetImpl();
rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xml",
new ScheduleTableResourceFactoryImpl());
Map options = new Properties();
// Just a dummy url to specify the type of the document
URI uri = URI.createURI("http://www.baderous.de/doomz/trankz.xml");
ScheduleTableResourceImpl resource = (ScheduleTableResourceImpl) rs.createResource(uri);
((org.eclipse.emf.ecore.resource.Resource) resource).load(is, options);
}
catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
经过长时间的努力,现在到达了try块中的最后一个方法,但这给了我这个错误:
org.eclipse.emf.ecore.resource.Resource $ IOWrappedException:值'2013-04-23.07:55:00'不合法。 (http://www.baderous.de/doomz/trankz.xml,4,56)
我希望在此描述中更加精确,但是我对EMF还是很陌生,因此我只会坚持基础知识。如果您能在这个问题上帮助我,我将不胜感激。
提前致谢!
最佳答案
尝试将值'2013-04-23.07:55:00'括在块CDATA中。
关于java - 将XML文件加载到ecore模型中(反序列化),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22255734/