我有一个目录,其中包含几个类似格式的XML文件。以下是一个例子
<students>
<forename>Joe</forename>
<surname>Bloggs</surname>
<DOB>01/01/1970</DOB>
<educationLevel>High School</educationLevel>
</students>
有没有办法遍历包含xml文件的目录(可能在某种循环中?)并逐个读取xml文件?
答案 0 :(得分:1)
您可以使用以下方法迭代给定目录中的.xml
个文件:
public static void readFiles(String directory) throws IOException {
File dir = new File(directory);
if (dir.exists() && dir.isDirectory()) {
File [] files = dir.listFiles((d, name) -> name.endsWith(".xml"));
if (files != null) {
for (File file: files) {
String xml = new String(Files.readAllBytes(file.toPath()),
Charset.defaultCharset());
//parse xml
}
}
}
}
要解析您可以使用的XML,例如Jackson Object Mapper:
ObjectMapper xmlMapper = new XmlMapper();
YourPOJO value = xmlMapper.readValue(xml, YourPOJO.class);
答案 1 :(得分:0)
获取XML文件驻留目录
答案 2 :(得分:-1)
检索数组中的所有学生标记,例如在python中我想获得具有特定id的所有div:
link4 = "Any HTML Link"
data3 = requests.get(link4)
soup5 = BeautifulSoup(data3.text, "lxml")
soup6 = BeautifulSoup(str(soup5.findAll("div", { "id" : "specs-list" })),"lxml")
在此之后,您可以循环遍历soup6转
答案 3 :(得分:-1)
我最终这样做了:
public static void directoryLoop(File folder) {
for (final File fileEntry : folder.listFiles()) {
if (fileEntry.isDirectory()) {
directoryLoop(fileEntry);
} else {
xmlReader(fileEntry.getName());
}
}
}
其中xmlReader(fileEntry.getName());
是我读取XML文件的方法,该文件将文件名作为参数。
答案 4 :(得分:-2)
假设你已经阅读了已经实现的xmlfile并且你知道你的文件名,你可以这样做:
List<String> filenames;
for(String filename : filenames){
myXmlReadingMethod( "path of my Files " + filename);
}
我希望这有助于你升职。