Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ElenaOrt77
Acceso a datos
Enunciado
- (2,5 puntos) Crear un fichero EMPLEADOS.DAT de acceso aleatorio, que contenga al menos
cinco empleados. Dicho fichero contendrá los campos siguientes: CODIGO (int), NOMBRE
- (2,5 puntos) A partir de los datos del fichero EMPLEADOS.DAT crear un fichero llamado
Formato entrega
La tarea es la actividad más importante de la unidad, por tanto, debemos transmitir al alumnado la
trascendencia de responder y elaborar dicha actividad con el máximo de rigor e interés ya que esta es
La tarea se evalúa valorándola con 10 puntos. La tarea se evalúa valorándola con 5 puntos la
Indicaciones de entrega.
Elabora un proyecto Java que será el que se suba al Aula Virtual. El proyecto se subirá con nombre:
"apellido1_apellido2_nombre_ADxx_Tarea".
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Explicación
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
El método crearFicheroEmpleados() crea un nuevo fichero de acceso aleatorio a partir del nombre
empleados a crear y crea un empleado con datos aleatorios para rellenar el fichero. Controlamos que
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
La lógica para crear el fichero XML está en crearXML() dentro de este método llamamos al método
leerDatos() donde obtenemos una lista de empleados que usaremos para crear el XML.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
EMPLEADOS.DAT y a partir de ese fichero crear una lista de empleados con los datos necesarios para
crear el XML. En este método se abre el fichero aleatorio desde la posición 0 y vamos cogiendo los
datos necesarios para crear al empleado que posteriormente meteremos en una lista para pasárselo a
crearXML()
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
iremos recorriendo para recoger el valor de las etiquetas. Para ello usaremos el método
getInformaciónNodo
getInformaciónNodo() se encarga de meterse dentro del nodo y sus hijos comprobando que sea
un “Element” para mostrarlo posteriormente por pantalla. Una cosa a destacar es que este xml tiene
una etiqueta autor que se forma por el apellido y el nombre, por lo que para juntar ambos en 1 solo se
hace un formateo del texto ya que cuando se daba este caso aparecía el apellido separado del nombre
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Ejercicio 2. Visualizar las etiquetas de libros.xml con
SAX
En este caso visualizaremos las etiquetas del xml usando SAX. Para ello creé la clase SAX que
Dentro de la clase SAX creamos una clase interna privada llamada “Libro”. Esta clase la usaremos
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
servirán para indicar si tenemos o no los datos y la lista de libros será lo que usaremos para mostrar
los datos de los libros del xml por consola. Por otra parte, rellenaremos el libro de esta clase con los
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
El método principal es visualizarEtiquetasXMLconSAX() donde crearemos el objeto XMLReader y al
que le pasaremos el contentHandler que será el encargado de recibir las notificaciones de los eventos
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
startElement() dentro de este método empezaremos a rellenar el libro con sus datos. Lo primero
que rellenamos es el año del libro. Las siguientes etiquetas simplemente comprobaremos si están y
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
ponemos el boolean a true en caso de que esté. Esto nos servirá para el método endElement()
endElement() en este método vamos rellenando cada apartado del libro en función de si tiene el
boolean a true, y una vez relleno se pondría a false para que no rellenase ese campo de nuevo. Por
ejemplo el boolean tieneTitulo está a true por lo que rellenaría el campo this.libro.titulo con los datos
del xml y posteriormente cambiaría el boolean a false para indicar que el campo título ya está relleno.
Finalmente cuando el libro tiene todos los campos rellenos lo añadiría a la lista de libros para que
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
texto dentro de un Elemento. Los datos que va encontrando se los añadimos al StringBuilder de la
clase SAX para que se rellenen los campos de la clase libro. Para que no se vayan acumulando los
datos del StringBuilder se reinicia en startElement porque si no, se irían concatenando, por ejemplo.
Encuentra el título y lo mete al stringBuilder pero si no se reinicia la próxima vez que encuentre una
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905
https://bit.ly/damAD02
L INK
AL CÓDIGO