我正在尝试从目录中的许多 xml文件中获取信息。
如何从每个信息中获取特定信息并将其发送到Java中的 excel文件?
file 1.xml
file 2.xml
file 3.xml
*********
**file.csv** or .**xls** with the information of the 'n' files XML
答案 0 :(得分:0)
Java上有几个库可以帮助您做到这一点。
例如,要从XML获取信息,您可以使用dom4j并利用库(examples)支持的查询语言XPATH提取特定信息。为了从目录中读取所有XML文件,Java 8提供了一种简单的方法来实现该目的。
Files.list(Paths.get("/path/to/xml/files"))
.map(YourXMLParser::parse)
.forEach(XLSExporter::export);
其中parse方法将具有签名:
public MyDataBean parse(Path path) {
InputStream inputStream = Files.newInputStream(Path);
SAXBuilder saxBuilder = new SAXBuilder(inputStream);
... <-- Making use of SAX for instance and return the read data in a custom Bean (MyDataBean)
}
随着 Files.list()方法返回 Stream ,您可以利用它来使用 map 和 forEach 。
一旦您掌握了每个XML文件中的信息,就可以使用Java中最常用的库将其导出到XLS:Apache POI
我希望它能提供帮助。