Curso finalizado, tercera parte añadida (DOM & SAX)
[curso-xml.git] / domsax / cursoxml / src / ManejadorSax1.java
1 import org.xml.sax.Attributes;
2 import org.xml.sax.SAXException;
3 import org.xml.sax.helpers.DefaultHandler;
4
5 public class ManejadorSax1 extends DefaultHandler{
6         public void startDocument() throws SAXException {
7                 System.out.println("\nPrincipio del documento...");
8         }
9
10         public void endDocument() throws SAXException {
11                 System.out.println("\nFin del documento...");
12         }
13
14         public void startElement(String uri, String localName, String name,
15                         Attributes attributes) throws SAXException {
16                 System.out.println("\nProcesando etiqueta...");
17                 System.out.println("\tNombre: "+localName);
18
19                 //Recorremos los atributos
20                 System.out.println("\tProcesando "+attributes.getLength()+" atributos...");
21                 for(int i=0;i<attributes.getLength();i++){
22                         System.out.println("\t\tNombre: "+attributes.getQName(i));
23                         System.out.println("\t\tValor: "+attributes.getValue(i));
24                 }
25
26                 // También podemos obtener los atributos por nombre
27                 String valorId = attributes.getValue("id");
28                 if(valorId!=null){
29                         System.out.println("\tId: "+valorId);
30                 }
31
32         }
33
34         public void characters(char[] ch, int start, int length)
35         throws SAXException {
36                 String texto = String.valueOf(ch, start, length);
37                 texto = texto.trim();
38                 if (!texto.equals("")){
39                         System.out.println("\nProcesando texto dentro de una etiqueta... ");
40                         System.out.println("\tTexto: "+texto);
41                 }
42         }
43
44         @Override
45         public void endElement(String uri, String localName, String name)
46         throws SAXException {
47                 System.out.println("\nFin de etiqueta...");
48                 System.out.println("\tNombre: "+localName);
49         }
50
51 }