EMF可以在xml和model對象之間進(jìn)行串行化和反串行化,這個主要是利用Resource的相關(guān)方法來實(shí)現(xiàn),但是如果需要對某個EMFmodel節(jié)點(diǎn)轉(zhuǎn)換成xml字符串,該如何做呢?這里EMF提供了另外一個類XMLProcessor,該類提供了load方法用來將xml文件、字符串或者dom對象轉(zhuǎn)換成EMF模型對象,以及save方法將EMF模型對象轉(zhuǎn)換成xml字符串、xml dom對象或者xml文件。XMLProcessor實(shí)際上調(diào)用Resource的相關(guān)方法來處理的,因此在調(diào)用load或者save方法之前需要手工構(gòu)造相應(yīng)的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);
- }
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢】