Java-如何从目录中的许多XML文件提取信息并将其导出到excel文件

时间:2019-01-03 23:32:16

标签: java xml extraction

我正在尝试从目录中的许多 xml文件中获取信息。

如何从每个信息中获取特定信息并将其发送到Java中的 excel文件

file 1.xml
file 2.xml
file 3.xml

*********

**file.csv** or .**xls** with the information of the 'n' files XML

1 个答案:

答案 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

我希望它能提供帮助。