Java解析Xmind文件
最近给了我两个XMind文件, 需要导入到数据库, 本着以技术替换手工劳动力的打算, 去学习了一下解析Xmind文件
引入类库
打开Xmind软件的安装目录
找到plugins下面的核心Jar 版本和日期可能不一致

该jar包可能只能解析自己版本的Xmind创建的文件, 解析其他版本可能会乱码
将Jar包打入本地Maven仓库
mvnw install:install-file -Dfile=knowledge-extraction-platform-parse-xmind\lib\org.xmind.core_3.7.9.201912052356.jar -DgroupId=org.xmind.local -DartifactId=core -Dversion=3.7.9.201912052356 -Dpackaging=jar
POM 中添加依赖
<dependency> <groupId>org.xmind.local</groupId> <artifactId>core</artifactId> <version>3.7.9.201912052356</version> </dependency>
编写代码
加载Xmind文件
/** * 加载Xmind文件 * * @param file 文件 * @return 工作簿 */ public static IWorkbook loadFile(File file) { // 获取构造器 IWorkbookBuilder workbookBuilder = Core.getWorkbookBuilder(); IWorkbook iWorkbook = null; try { iWorkbook = workbookBuilder.loadFromFile(file); } catch (IOException | CoreException e) { e.printStackTrace(); } return iWorkbook; }
获取主节点,子集节点
// 加载Xmind IWorkbook iWorkbook = loadFile(file); // 获取主Sheet ISheet primarySheet = iWorkbook.getPrimarySheet(); // 获取主标题 ITopic rootTopic = primarySheet.getRootTopic(); // 获取标题文本 String nodeName = rootTopic.getTitleText(); System.out.println("主标题:" + nodeName); // 获取所有子节点 List<ITopic> allChildren = rootTopic.getAllChildren();
效果


浙公网安备 33010602011771号