packagecom.xiaostudy.util;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;importjava.io.File;importjava.util.ArrayList;importjava.util.List;/*** XML工具类
*@authorxiaostudy
* @date 2019.4.26
*@version1.0.0*/
public classXmlUtil {public static voidmain(String[] args) {
Boolean aBoolean= Xml2ExcelFile("C:\\Users\\Administrator\\Desktop\\test.xml", "C:\\Users\\Administrator\\Desktop\\test2.xlsx");
System.out.println(aBoolean);
}/*** Xml转Excel文件
*@paramstrXmlFilePath Xml文件路径
*@paramstrExcleFilePath Excel文件存放路径
*@return
*/
public staticBoolean Xml2ExcelFile(String strXmlFilePath, String strExcleFilePath) {if(StringUtil.isTrimNull(strXmlFilePath) ||StringUtil.isTrimNull(strExcleFilePath)) {return false;
}
List> listList =readXml(strXmlFilePath);if(null == listList ||listList.isEmpty()) {return false;
}returnExcelUtil.createExcelFile(strExcleFilePath, listList);
}/*** 读取Xml文件,以List>形式返回
*@paramstrFile
*@return
*/
public static List>readXml(String strFile) {if(StringUtil.isTrimNull(strFile)) {return null;
}
SAXReader reader= newSAXReader();
File file= newFile(strFile);if(!file.exists() || !file.isFile()) {return null;
}
Document document= null;try{
document=reader.read(file);
}catch(DocumentException e) {
e.printStackTrace();
}
List> listList = new ArrayList<>();if (null !=document) {
Element root=document.getRootElement();
List childElements =root.elements();
List titleList = new ArrayList<>();
listList.add(titleList);boolean flag = true;for(Element child : childElements) {
List list = new ArrayList<>();
List elementList =child.elements();for(Element ele : elementList) {if(flag) {
titleList.add(ele.getName());
}
list.add(ele.getText());
}
flag= false;
listList.add(list);
System.out.println();
}
}returnlistList;
}
}