Я только что решил.
Во-первых: вы должны определить Instance Class of IStorage и IStorageEditorInput, вы можете обратиться к Как мне открыть редактор для чего-то, что не является файлом?
Второе: определите свой собственный XMLEditor, например:
public class XMLEditor extends XMLMultiPageEditorPart implements IStorage{}
Последнее: вызовите редактор следующим образом:
File file= new File( path );
IWorkbenchPage page = window.getActivePage();
IStorage storage = new FileStorage(file);
IStorageEditorInput input = new XMLInput( storage );
try {
page.openEditor(input, "Your ID");
} catch (PartInitException e) {
MessageDialog.openError(window.getShell(), "", path);
}
Примечание: в классе FileStorage функцияgetName () должен вернуть полный путь к файлу, иначе вы получите ошибки.
Надеюсь, это поможет вам, если у вас возникнут проблемы, мы можем обсудить их, используйте gtalk: vvvv.spring@gmail.com