最近给了我两个XMind文件, 需要导入到数据库, 本着以技术替换手工劳动力的打算, 去学习了一下解析Xmind文件
打开Xmind软件的安装目录
找到plugins下面的核心Jar 版本和日期可能不一致
该jar包可能只能解析自己版本的Xmind创建的文件, 解析其他版本可能会乱码
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
<dependency>
<groupId>org.xmind.local</groupId>
<artifactId>core</artifactId>
<version>3.7.9.201912052356</version>
</dependency>
/**
* 加载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();