前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java解析Xmind文件

Java解析Xmind文件

作者头像
彼岸舞
发布2022-08-24 08:35:04
9290
发布2022-08-24 08:35:04
举报
文章被收录于专栏:java开发的那点事

最近给了我两个XMind文件, 需要导入到数据库, 本着以技术替换手工劳动力的打算, 去学习了一下解析Xmind文件

引入类库

打开Xmind软件的安装目录

找到plugins下面的核心Jar 版本和日期可能不一致

该jar包可能只能解析自己版本的Xmind创建的文件, 解析其他版本可能会乱码

将Jar包打入本地Maven仓库

代码语言:javascript
复制
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 中添加依赖

代码语言:javascript
复制
<dependency>
  <groupId>org.xmind.local</groupId>
  <artifactId>core</artifactId>
  <version>3.7.9.201912052356</version>
</dependency>

编写代码

加载Xmind文件

代码语言:javascript
复制
/**
* 加载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;
}

获取主节点,子集节点

代码语言:javascript
复制
// 加载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();

效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引入类库
  • 将Jar包打入本地Maven仓库
  • POM 中添加依赖
  • 编写代码
    • 加载Xmind文件
      • 获取主节点,子集节点
      • 效果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档