我已经用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"
答案 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);