How to import XML data Using Java and store them into a Java List ?
I want to import data from an XML file and Store them into a List Java , Any idea about that ?
i want to save the data into a list private List<Book> books = new ArrayList<Book>();
My Xml file :
<trains>
<train>
<numTrain>TR123</numTrain>
<villeDepart>Poitiers</villeDepart>
<villeArrivee>Paris</villeArrivee>
<heureDepart>1250</heureDepart>
</train>
</trains>
My Code :
public class ReadXMLFile {
List<Train> trains = new ArrayList<Train>();
File fXmlFile = new File("/BookTrainRestWebServiceExercice2/src/main/java/soa/jaxrslabs/booktrainrestwebserviceexcercice2/TarinData.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("train");
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;
trains.add(new Train(eElement.getAttribute("numTrain"),
eElement.getElementsByTagName("villeDepart").item(0).getTextContent(),
"Ville d'arrivee : " + eElement.getElementsByTagName("villeArrivee").item(0).getTextContent(),
eElement.getElementsByTagName("heureDepart").item(0).getTextContent()));
System.out.println("Tarin num : " + eElement.getAttribute("numTrain"));
System.out.println("Ville de depart : " + eElement.getElementsByTagName("villeDepart").item(0).getTextContent());
System.out.println("Ville d'arrivee : " + eElement.getElementsByTagName("villeArrivee").item(0).getTextContent());
System.out.println("Heure de depart : " + eElement.getElementsByTagName("heureDepart").item(0).getTextContent());
}
}
}