Está en la página 1de 13

EjercicioResueltoAccesoDatosDAM0...

ElenaOrt77

Acceso a datos

1º Desarrollo de Aplicaciones Multiplataforma

Ribera del Tajo

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.
A CCESO A D ATOS . T AREA 2

Enunciado

Apartado 1) (5 puntos) Realiza las siguientes acciones utilizando NetBeans:

- (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

(string), DIRECCION (string), SALARIO (float) y COMISION (float).

- (2,5 puntos) A partir de los datos del fichero EMPLEADOS.DAT crear un fichero llamado

EMPLEADOS.XML usando DOM.

Apartado 2) (5 puntos) Visualizar todas las etiquetas del fichero


LIBROS.XML utilizando las técnicas DOM y SAX.

Formato entrega

Realizar todos los ejercicios en un mismo proyecto, y subir el mismo comprimido.

Criterios de puntuación. Total 10 puntos.

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

el principal mecanismo de consolidación de su aprendizaje.

La tarea se evalúa valorándola con 10 puntos. La tarea se evalúa valorándola con 5 puntos la

primera parte y 5 puntos la segunda.

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

Ejercicio 1. Parte 1. Creación del fichero


EMPLEADOS.DAT

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

introducido en nuestro caso será “EMPLEADOS.DAT”.

Dentro de ese método se llama a crearEmpleadoAleatorio() donde se le indica el número de

empleados a crear y crea un empleado con datos aleatorios para rellenar el fichero. Controlamos que

el usuario como mínimo ponga 1 empleado y como máximo 99.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905

si lees esto me debes un besito


Acceso a datos
Banco de apuntes de tu clase
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.
Ejemplo del fichero creado

Ejercicio 1. Parte 2. Creación del fichero


EMPLEADOS.XML usando DOM

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

si lees esto me debes un besito


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 leerDatos() se encarga de leer los datos de los empleados contenidos en el fichero

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

si lees esto me debes un besito


Ejercicio 2. Visualizar etiquetas del archivo libros.xml
con DOM

El método principal es visualizarEtiquetasXMLconDOM. En este método abriremos el XML y lo

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

por un salto de línea “\n”

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

extiende de DefaultHandler que usaremos para leer el XML.

Dentro de la clase SAX creamos una clase interna privada llamada “Libro”. Esta clase la usaremos

para facilitar la visualización de las etiquetas del xml usando toString()

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905

si lees esto me debes un besito


Dentro de la clase SAX tenemos los siguientes atributos privados. Por una parte los booleanos nos

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

datos del XML

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

que ocurren en el documento.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905

si lees esto me debes un besito


Como la clase SAX extiende de DefaultHandler sobreescribiremos los métodos startElement(),

endElement y characters para leer el documento xml

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

posteriormente se pudieran mostrar por pantalla usando el toString de la clase Libro

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5714905

si lees esto me debes un besito


El método characters() se llama durante el proceso por el parseador de SAX cuando encuentra

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

etiqueta se guardaría al lado del título

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

si lees esto me debes un besito


10
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.

También podría gustarte