这真的让我神经紧张......
我已经启动并运行了所有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:Value'2013-04-23.07:55:00'不合法。 (http://www.baderous.de/doomz/trankz.xml,4,56)
我想在这个描述中更精确,但我对EMF很新,所以我会坚持基础。如果你能在这个问题上帮助我,我将非常感激。
提前致谢!
答案 0 :(得分:1)
尝试在区块CDATA中附加值“2013-04-23.07:55:00”。
答案 1 :(得分:0)
问题是日期格式无法处理,所以我不得不在EMf中编辑模型,现在我将日期视为字符串。现在一切正常!
希望将来某人可以从这个答案中受益,并节省一些时间。