EMF可以在xml和model对象之间进行串行化和反串行化,这个主要是利用Resource的相关方法来实现,但是如果需要对某个EMFmodel节点转换成xml字符串,该如何做呢?这里EMF提供了另外一个类XMLProcessor,该类提供了load方法用来将xml文件、字符串或者dom对象转换成EMF模型对象,以及save方法将EMF模型对象转换成xml字符串、xml dom对象或者xml文件。XMLProcessor实际上调用Resource的相关方法来处理的,因此在调用load或者save方法之前需要手工构造相应的Resource对象。
java 代码
- ViewXMLResourceImpl resource = new ViewXMLResourceImpl();
- EObject eCloneDataset = EcoreUtil.copy(eDataset);
- DoradoEcoreUtils.eSet(eCloneDataset,
- IDoradoConstants.ATTR_AUTO_CREATE_FIELDS, Boolean.TRUE);
- resource.getContents().add(eCloneDataset);
- String xml = "";
- try {
- xml = new XMLProcessor().saveToString(resource, null);
- } catch (IOException e) {
- ExceptionHandler.processException(e);
- }
安徽新华电脑学校专业职业规划师为你提供更多帮助【在线咨询】