Curso finalizado, tercera parte aƱadida (DOM & SAX)
[curso-xml.git] / domsax / cursoxml / src / ejercicio2.java
1 import java.io.FileNotFoundException;
2 import java.io.IOException;
3
4 import javax.xml.parsers.DocumentBuilder;
5 import javax.xml.parsers.DocumentBuilderFactory;
6 import javax.xml.parsers.ParserConfigurationException;
7
8 import org.w3c.dom.Element;
9 import org.w3c.dom.Node;
10 import org.w3c.dom.NodeList;
11 import org.w3c.dom.Document;
12 import org.xml.sax.SAXException;
13
14
15 public class ejercicio2 {
16         public static void main(String[] args) {
17                 // Construimos nuestro DocumentBuilder
18                 DocumentBuilder documentBuilder = null;
19                 Document doc = null;
20                 try {
21                         documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
22                 } catch (ParserConfigurationException e) {
23                         e.printStackTrace();
24                 }
25                 
26                 // Procesamos el fichero XML y obtenemos nuestro objeto Document
27                 try {
28                         doc = documentBuilder.parse("src/catalogo.xml");
29                 } catch (FileNotFoundException e) {
30                         e.printStackTrace();
31                 } catch (IOException e) {
32                         e.printStackTrace();
33                 } catch (SAXException e) {
34                         e.printStackTrace();
35                 }
36                 // Obtenemos la etiqueta raiz
37                 Element elementRaiz = doc.getDocumentElement();
38                 // Iteramos sobre sus hijos
39                 NodeList hijos = elementRaiz.getChildNodes();
40                 for(int i=0;i<hijos.getLength();i++){
41                    Node nodo = hijos.item(i);
42                    if (nodo instanceof Element){
43                            Element e = (Element) nodo;
44                            if (e.getTagName().equals("cd")){
45                                    Node tituloNode = e.getElementsByTagName("titulo").item(0);
46                                    String titulo = tituloNode.getFirstChild().getNodeValue();
47                                    String valoracion = e.getAttribute("valoracion");
48                                    System.out.println("titulo: " + titulo + " | valoracion: " + valoracion);
49                            }
50                    }
51                 }
52
53         }
54 }