I have a XML file .I read the file and modified something and now I want to write the output of that xml file into a excel. Could you guys please guide me how to do that.I mean I need to create another output xml file to store the result and then need to convert into excel or directly I can write the output to excel.Any leads will be helpfull
Here is My Java code
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
public class App {
static File[] sourceDir = null;
static File[] targetDir = null;
static String currDir = System.getProperty("user.dir");
static int count=0;
public static void main(String argv[]) {
sourceDir = readDirectory(currDir + "\\Source");
System.out.println("sourceDir::::::::"+sourceDir);
targetDir = readDirectory(currDir + "\\Target");
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
//File fXmlFile = new File("D:\\Users\\gpadarth\\Desktop\\jyoti\\xml\\Log_MoveWorkers_467_1.xml");
for(int i=0;i<sourceDir.length;i++){
Document doc = dBuilder.parse(sourceDir[i]);
System.out.println("doc::::"+doc);
//optional, but recommended
//read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("Worker");
System.out.println("----------------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
//System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if( eElement.getElementsByTagName("Status").item(0).getTextContent().equals("Fail")){
System.out.println("Employee_ID : " + eElement.getElementsByTagName("Employee_ID").item(0).getTextContent());
System.out.println("Position_ID : " + eElement.getElementsByTagName("Position_ID").item(0).getTextContent());
System.out.println("Status : " + eElement.getElementsByTagName("Status").item(0).getTextContent());
System.out.println("Fault_String : " + eElement.getElementsByTagName("Fault_String").item(0).getTextContent());
System.out.println("\n\n::::::::::::::::::::::::::::::::::::::::::::::::::");
}}
}
count++;
System.out.println("File "+count+ " Started ");
} }catch (Exception e) {
e.printStackTrace();
}
}
private static File[] readDirectory(String dirToRead){
File folder = new File(dirToRead);
return folder.listFiles();
}
}