引入jar包:
<dependency>
<groupId>com.github.eljah</groupId>
<artifactId>xmindjbehaveplugin</artifactId>
<version>0.8</version>
</dependency>
测试类(jdk1.8):
import java.io.IOException;
import org.junit.Test;
import org.xmind.core.Core;
import org.xmind.core.CoreException;
import org.xmind.core.IBoundary;
import org.xmind.core.IEncryptionHandler;
import org.xmind.core.ISheet;
import org.xmind.core.ITopic;
import org.xmind.core.IWorkbook;
import org.xmind.core.IWorkbookBuilder;
import org.xmind.core.io.ByteArrayStorage;
/**
* xmind导出与导入
*/
public class XmindTest {
@Test
public void export() throws IOException, CoreException {
String workbookString = "new.xmind";
IWorkbookBuilder builder = Core.getWorkbookBuilder();
IWorkbook workbook = builder.createWorkbook(workbookString);
ISheet isheet = workbook.getPrimarySheet();
isheet.setTitleText("sheet1");
// 新增sheet
ISheet isheet2 = workbook.createSheet();
isheet2.setTitleText("sheet2");
workbook.addSheet(isheet2);
ITopic root = isheet.getRootTopic();
root.setTitleText("title");
root.setHyperlink("hyperlink");
root.setStructureClass("structureClass");
root.setFolded(true);
IBoundary boundary = workbook.createBoundary();
boundary.setTitleText("boundary");
root.addBoundary(boundary);
ITopic child1 = workbook.createTopic();
child1.setTitleText("child\nTitle");
child1.setHyperlink("childHyperlink");
child1.setStructureClass("childStructureClass");
child1.setFolded(true);
root.add(child1);
ITopic child2 = workbook.createTopic();
child2.setTitleText("child\nTitle");
child2.setHyperlink("childHyperlink");
child2.setStructureClass("childStructureClass");
child2.setFolded(true);
root.add(child2);
ITopic child11 = workbook.createTopic();
child11.setTitleText("child\nTitle");
child11.setHyperlink("childHyperlink");
child11.setStructureClass("childStructureClass");
child11.setFolded(true);
child1.add(child11);
ITopic child12 = workbook.createTopic();
child12.setTitleText("child\nTitle");
child12.setHyperlink("childHyperlink");
child12.setStructureClass("childStructureClass");
child12.setFolded(true);
child1.add(child12);
ITopic child21 = workbook.createTopic();
child21.setTitleText("child\nTitle");
child21.setHyperlink("childHyperlink");
child21.setStructureClass("childStructureClass");
child21.setFolded(true);
child2.add(child21);
ITopic child22 = workbook.createTopic();
child22.setTitleText("childTitle");
// child22.setHyperlink("childHyperlink");
// child22.setStructureClass("childStructureClass");
// child22.setFolded(true);
child2.add(child22);
System.out.println(root.getAllChildren().size());
workbook.save("new.xmind");
}
@Test
public void importIn() throws IOException, CoreException {
String workbookString = "${projectDirectory}\\new.xmind";
IWorkbookBuilder builder = Core.getWorkbookBuilder();
IEncryptionHandler iench = () -> "privet";
IWorkbook workbook = builder.loadFromPath(workbookString, new ByteArrayStorage(), iench);
ISheet isheet = workbook.getPrimarySheet();
ITopic root = isheet.getRootTopic();
System.out.println("root: "+ root.getTitleText());
showChildren(root);
}
private void showChildren(ITopic root) {
for (ITopic child : root.getAllChildren()) {
System.out.println("child: "+ child.getTitleText());
showChildren(child);
}
}
}