@Override public void doSave(IProgressMonitor monitor) { try { JAXBContext context = JAXBContext.newInstance(Process.class); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_ENCODING, "GBK"); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); IFile file = ((IFileEditorInput) getEditorInput()).getFile(); File location = new File(file.getLocationURI()); marshaller.marshal(model, location); ModelHelper.processXML((Process) this.model, location); getCommandStack().markSaveLocation(); } catch (Exception e) { e.printStackTrace(); } }