// run program/button code public void getKeywords() { // Set up column and data variables String columnName = ""; String dataOutput = ""; // entering try catch try { // set up document read/build DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory .newInstance(); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); // read the file into the program Document doc = docBuilder.parse(new File( "C://temp/XML_DATA/data.xml")); // normalize text representation doc.getDocumentElement().normalize(); System.out.println("Root element of the doc is " + doc.getDocumentElement().getNodeName()); // ... //Get count of values per tags NodeList listOfSites = doc.getElementsByTagName("person"); // perform count of documents retrieved int totalSites = listOfSites.getLength(); System.out.println("Total number of sites/customers : " + totalSites); //loop through sites and fill nodes for (int s = 0; s < listOfSites.getLength(); s++) { //... //Set up siteNode to gather data into elements Node siteNode = listOfSites.item(s); if (siteNode.getNodeType() == Node.ELEMENT_NODE) { //... Element siteElement = (Element) siteNode; //... //load to respective elements NodeList siteNameList = siteElement .getElementsByTagName("sitename"); Element siteNameElement = (Element) siteNameList.item(0); //... //feed values outbound via each element NodeList textSiteNameList = siteNameElement.getChildNodes(); System.out .println("SiteName : " + ((Node) textSiteNameList.item(0)) .getNodeValue().trim()); //... //load to respective elements NodeList siteNumberList = siteElement .getElementsByTagName("sitenumber"); Element siteNumberElement = (Element) siteNumberList.item(0); //... //feed values outbound via each element NodeList textSiteNumberList = siteNumberElement.getChildNodes(); System.out .println("SiteNumber : " + ((Node) textSiteNumberList.item(0)) .getNodeValue().trim()); // load results to ColumnNames bound for CSV file String SiteName = (((Node) textSiteNameList.item(0)) .getNodeValue().trim()); String SiteNumber = (((Node) textSiteNumberList.item(0)) .getNodeValue().trim()); // pre-arrange column values for CSV file columnName = "SiteName" + "," + "SiteNumber" + "\n"; // ... // load values to columns set up dataOutput = dataOutput + SiteName + "," + SiteNumber + "\n"; // add debug messages System.out.println("This is for Debugging measures: " + columnName + dataOutput); // ... // Instantiate file location... DataOutputStream outBound = new DataOutputStream( new BufferedOutputStream( new FileOutputStream( "c:/temp/CSV_DATA/UserNewLineOutboundInformation.csv"))); // write data into columns set up outBound.writeBytes(columnName + dataOutput); // ... //close the writer outBound.close(); } } } catch (SAXParseException err) { System.out.println("** Parsing error" + ", line " + err.getLineNumber() + ", uri " + err.getSystemId()); System.out.println(" " + err.getMessage()); } catch (SAXException e) { Exception x = e.getException(); ((x == null) ? e : x).printStackTrace(); } catch (Throwable t) { t.printStackTrace(); } }// end of program