-1
我必須訪問位於單個父文件夾中的多個xml文件,但是在該父文件夾中有多個子文件夾,並且在這些子文件夾內有時會有更多的子文件夾然後是xml文件。我已經編寫了一個代碼來讀取單個XML文件,並將xml數據輸出到一個csv。以下是我的代碼。 請查看代碼並提供任何相關解決方案。如何從Java中的不同文件夾讀取多個xml文件
public class XMLReader_Rar{
public static void main (String[] args) throws Exception{
File inputfile = new File("C:/Users/Vishvesh Savant/Desktop/Mirriad/Test/data4/subdir4/468736483.xml");
File filePath = new File ("C:/Users/Vishvesh Savant/Desktop/Mirriad/Test/data4/subdir4/new.csv");
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dbuilder = dbfactory.newDocumentBuilder();
Document doc = dbuilder.parse(inputfile);
doc.getDocumentElement().normalize();
NodeList list = doc.getElementsByTagName("product");
FileWriter fileWriter = null;
fileWriter = new FileWriter(filePath);
try{
for(int i=0; i<list.getLength();i++){
Node node = list.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element element = (Element) node;
fileWriter.append(element.getAttribute("uid"));
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("title").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("actor").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("director").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("country").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("format").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("bitrate").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("fps").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("aspect").item(0).getTextContent());
fileWriter.append(",");
fileWriter.append(element.getElementsByTagName("width").item(0).getTextContent());
fileWriter.flush();
fileWriter.close();
}
}
}
catch (Exception e) {
System.out.println("Error in CsvFileWriter !!!");
e.printStackTrace();
}
}
}
能否請您使用中,我已經提供了上面的代碼。如果可能的話 –
該評論來自答案發布後9分鐘。在尋求進一步幫助之前,您需要做好9分鐘以上的準備工作,以瞭解並應用答案。這不是免費的編碼服務。 –
@michal Kay在發佈我的問題之前,我嘗試過在同一個論壇上發現類似的東西,但在此之前,我嘗試了許多事情,甚至在發佈之前似乎沒有工作。只有在我的代碼中完成了足夠的研究和試驗和錯誤工作後,我纔會在此論壇上發佈問題。 –