Java tutorial
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.InputSource; public class ListMoviesXML { public static void main(String[] args) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setIgnoringComments(true); factory.setIgnoringElementContentWhitespace(true); factory.setValidating(true); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(new InputSource("y.xml")); Element root = doc.getDocumentElement(); Element movieElement = (Element) root.getFirstChild(); Movie m; while (movieElement != null) { m = getMovie(movieElement); String msg = Integer.toString(m.year); msg += ": " + m.title; msg += " (" + m.price + ")"; System.out.println(msg); movieElement = (Element) movieElement.getNextSibling(); } } private static Movie getMovie(Element e) { String yearString = e.getAttribute("year"); int year = Integer.parseInt(yearString); Element tElement = (Element) e.getFirstChild(); String title = getTextValue(tElement).trim(); Element pElement = (Element) tElement.getNextSibling(); String pString = getTextValue(pElement).trim(); double price = Double.parseDouble(pString); return new Movie(title, year, price); } private static String getTextValue(Node n) { return n.getFirstChild().getNodeValue(); } } class Movie { public String title; public int year; public double price; public Movie(String title, int year, double price) { this.title = title; this.year = year; this.price = price; } }