Curso finalizado, tercera parte aƱadida (DOM & SAX)
[curso-xml.git] / domsax / cursoxml / src / ejercicioSax3.java
1 import org.xml.sax.Attributes;
2 import org.xml.sax.SAXException;
3 import org.xml.sax.helpers.DefaultHandler;
4
5 public class ejercicioSax3 extends DefaultHandler{
6         Boolean cd;
7         Boolean titulo;
8         Boolean artista;
9         Boolean pais;
10         String tituloValor;
11         String artistaValor;
12         String paisValor;
13
14         public ejercicioSax3() {
15                 super();
16                 this.cd = false;
17                 this.titulo = false;
18                 this.artista = false;
19                 this.pais = false;
20                 this.artistaValor = "";
21                 this.tituloValor = "";
22                 this.paisValor = "";
23         }
24
25         public void startElement(String uri, String localName, String name,
26                         Attributes attributes) throws SAXException {
27
28                 if (localName.equals("cd")){
29                         cd = true;
30                 }else if(localName.equals("titulo")){
31                         titulo = true;
32                 }else if(localName.equals("artista")){
33                         artista = true;
34                 }else if(localName.equals("pais")){
35                         pais = true;
36                 }
37         }
38
39         public void characters(char[] ch, int start, int length)
40         throws SAXException {
41                 String texto = String.valueOf(ch, start, length);
42                 texto = texto.trim();
43                 if (!texto.equals("") && cd){
44                         if (titulo)
45                                 this.tituloValor = texto;
46                         else if (artista)
47                                 this.artistaValor = texto;
48                         else if (pais)
49                                 this.paisValor = texto;
50                 }
51         }
52
53         public void endElement(String uri, String localName, String name)
54         throws SAXException {
55                 if (localName.equals("cd")){
56                         cd = false;
57                         if (paisValor.equals("USA"))
58                                 System.out.println("titulo: "+ tituloValor + " | artista: " + artistaValor);
59                 }else if(localName.equals("titulo")){
60                         titulo = false;
61                 }
62                 else if(localName.equals("artista")){
63                         artista = false;
64                 }
65                 else if(localName.equals("pais")){
66                         pais = false;
67                 }
68         }
69
70 }