这真的让我感到紧张...

我已经启动并运行了所有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/

10-10 13:08