将多个XML文件的目录解析为Java

时间:2014-11-13 13:56:14

标签: java xml parsing

我已经用Java成功解析了一个XML文件,我可以读取和打印值。

public static void main (String args[]) {

    try{
        String XML = "test.xml";

        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document doc = docBuilder.parse (new File(XML));

我现在想要解析XML目录并继续执行相同的操作(读取和打印)。 我想一个带有XML文件路径的简单.txt文件:

"test.xml"
"sample.xml"
"name.xml"

1 个答案:

答案 0 :(得分:1)

如果要处理目录中的所有XML文件,可以使用FileFilter

示例代码:

// Directory where the files are located
File dir = new File("xml_folder");

// Create a FileFilter that matches ".xml" files
FileFilter filter = new FileFilter() {
    @Override
    public boolean accept(File file) {
       return file.isFile() && file.getName().endsWith(".xml");
    }
};

// Get pathnames of matching files.
File[] paths = dir.listFiles(filter);

然后,您可以使用for循环遍历paths数组并根据需要解析每个文件。

如果您使用的是Java 1.8或任何想要使用Lambda表达形式的人,那么您可以使用:

// Directory where the files are located
File dir = new File("xml_folder");

// Create a FileFilter that matches ".xml" files
FileFilter filter = (File file) -> file.isFile() && file.getName().endsWith(".xml");

// Get pathnames of matching files.
File[] paths = dir.listFiles(filter);