原创作者: macrochen   阅读:853次   评论:0条   更新时间:2011-06-01    

EMF可以在xml和model对象之间进行串行化和反串行化,这个主要是利用Resource的相关方法来实现,但是如果需要对某个EMFmodel节点转换成xml字符串,该如何做呢?这里EMF提供了另外一个类XMLProcessor,该类提供了load方法用来将xml文件、字符串或者dom对象转换成EMF模型对象,以及save方法将EMF模型对象转换成xml字符串、xml dom对象或者xml文件。XMLProcessor实际上调用Resource的相关方法来处理的,因此在调用load或者save方法之前需要手工构造相应的Resource对象。

 

java 代码
  1. ViewXMLResourceImpl resource = new ViewXMLResourceImpl();   
  2. EObject eCloneDataset = EcoreUtil.copy(eDataset);   
  3. DoradoEcoreUtils.eSet(eCloneDataset,   
  4.         IDoradoConstants.ATTR_AUTO_CREATE_FIELDS, Boolean.TRUE);   
  5. resource.getContents().add(eCloneDataset);   
  6. String xml = "";   
  7. try {   
  8.     xml = new XMLProcessor().saveToString(resource, null);   
  9. catch (IOException e) {   
  10.     ExceptionHandler.processException(e);   
  11. }  
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

文章信息

Global site tag (gtag.js) - Google Analytics