Java解析Xmind文件


1、引入org.xmind.core_XXX.jar包;准備一個test.xmind文件,內容如圖所示:

2、Java代碼

package com.dave.util;

import org.xmind.core.*;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class XmindUtil {
public static void main(String[] args) throws IOException, CoreException {
String rootPath = System.getProperty("user.dir");
String xmindPath = rootPath + "\\file\\靈薪付小程序2.2版本.xmind";

List<String> lists = xmindToList(xmindPath);

for(String list:lists){
System.out.println(list);
}
}
/**
* 獲取工作簿
* IWorkbook:表示整個思維導圖
* @param xmindPath:xmind文件路徑
*/
public static IWorkbook getIWorkbook(String xmindPath) throws IOException, CoreException {
if (builder == null){
builder = Core.getWorkbookBuilder();// 初始化builder
}
return builder.loadFromFile(new File(xmindPath));
}

/**
* 獲取默認工作表的根主題
* xmind關系:工作簿(IWorkbook)——>工作表(ISheet)——>主題(ITopic)
* @param iWorkbook:xmind工作簿
*/
public static ITopic getRootTopic(IWorkbook iWorkbook){
return iWorkbook.getPrimarySheet().getRootTopic();
}

/**
* 獲取從根目錄到每一個葉子節點的的路徑
*/
public static List<String> getAllPath(ITopic rootTopic){
return getAllPathIter(rootTopic.getTitleText() ,rootTopic.getAllChildren());
}

public static List<String> getAllPathIter(String parentContext,List<ITopic> childrens){
for(ITopic children:childrens){
if(children.getAllChildren().size() == 0){
list.add(parentContext+" — "+children.getTitleText().replaceAll("\r|\n",""));
}else {
getAllPathIter(parentContext+" — "+children.getTitleText().replaceAll("\r|\n",""), children.getAllChildren());
}
}
return list;
}

/**
* 解析Xmind文件
*/
public static List<String> xmindToList(String xmindPath) throws IOException, CoreException {
return getAllPath(getRootTopic(getIWorkbook(xmindPath)));
}

private static IWorkbookBuilder builder = null;
private static List<String> list = new ArrayList<>();
}

3、運行結果

搜索客戶名稱時顯示客戶層級 —— 功能 —— 步驟:輸入客戶名或登錄賬號,點擊客戶搜索按鈕
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 首頁搜索框 —— 精准搜索 —— 搜索唯一的賬號
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 首頁搜索框 —— 模糊匹配 like  "關鍵字%" —— 匹配符合條件的所有賬號
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 首頁搜索框 —— 模糊匹配 like  "關鍵字%" —— 分頁顯示,每頁10條數據
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 首頁搜索框 —— 搜索不到結果 —— 列表顯示為空
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 賬號列表頁搜索框 —— 精准搜索 —— 搜索唯一的賬號
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 賬號列表頁搜索框 —— 模糊匹配 like  "關鍵字%" —— 匹配符合條件的所有賬號
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點1:搜索操作 —— 賬號列表頁搜索框 —— 搜索不到結果 —— 列表顯示為空
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 頁面樣式 —— 新增Account Level列
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 搜索結果 —— 無搜索結果 —— 列表為空
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 搜索結果 —— 有搜索結果 —— 當前登錄賬戶 —— 僅顯示當前賬戶,Level1
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 搜索結果 —— 有搜索結果 —— 當前登錄賬戶 —— 當前登錄賬戶操作列為空(無more、monitor)
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 搜索結果 —— 有搜索結果 —— 子賬戶 —— 顯示登錄賬戶到當前子賬戶的所有賬戶及層級,最上級(登錄賬號)操作列為空
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 場景 —— 最大搜索層級,能夠准確展示
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 場景 —— 切換到其它賬戶,對應層級變化
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 場景 —— 模糊匹配大量的搜索結果,快速准確的顯示所有的結果
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點2:賬戶搜索列表頁 —— 場景 —— 在搜索列表修改賬戶信息后搜索,刷新搜索結果列表頁,准確性檢查(考慮模糊匹配大量搜索結果)
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— english
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— русский язык
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— Español
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— ViệtName
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— Монгол хэл
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— Português
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點3:其它語種,簡單搜索,查看賬戶列表頁樣式 —— Türkiye
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點4:常用瀏覽器兼容性 —— chrome
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點4:常用瀏覽器兼容性 —— firefox
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點4:常用瀏覽器兼容性 —— IE
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點4:常用瀏覽器兼容性 —— 360
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點4:常用瀏覽器兼容性 —— Sougou
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點4:常用瀏覽器兼容性 —— QQ
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點5:中文版賬號搜索不受影響 —— 風控
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點5:中文版賬號搜索不受影響 —— RMS
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點5:中文版賬號搜索不受影響 —— 電動車(兩個新域名)
搜索客戶名稱時顯示客戶層級 —— 功能 —— 檢查點6:設備搜索,我的客戶快速搜索不受影響

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM