package com.wordcount.example;

import java.io.IOException;
import java.io.Serializable;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class xmlParser implements Serializable {

	public String parsingData(String path) throws ParserConfigurationException {
		// TODO Auto-generated method stub

		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		Document doc = null;
		try {
			doc = builder
					.parse("file:///home/hduser/Desktop/xml_files/PRD_XML/"
							+ path);
		} catch (SAXException | IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		NodeList nodes = doc.getElementsByTagName("Order");
		nodes.getLength();
		// System.out.println("node:"+nodes.getLength());
		Node node = nodes.item(0);
		// System.out.println("data text:"+node);
		Element element = (Element) nodes.item(0);
		String row = element.getAttribute("CarrierServiceCode") + ","
				+ element.getAttribute("CustomerEMailID") + ","
				+ element.getAttribute("CustomerFirstName") + ","
				+ element.getAttribute("CustomerLastName") + ","
				+ element.getAttribute("DocumentType") + ","
				+ element.getAttribute("EnterpriseCode") + ","
				+ element.getAttribute("EntryType") + ","
				+ element.getAttribute("OrderDate") + ","
				+ element.getAttribute("OrderNo") + ","
				+ element.getAttribute("SellerOrganizationCode") + ","
				+ element.getAttribute("Status") + ","
				+ element.getAttribute("TaxExemptFlag");
		try {
			builder = factory.newDocumentBuilder();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return row;

	}

}
