Skip to content

jmlb23/AcesoAD

Repository files navigation

Manexo de ficheiros.

    1. Crea unha clase serializable de nome Produto, que teña como atributos:
  • identificador, enteiro

  • nome do produto: cadea de caracteres

  • prezo: número real.

  1. Crea un programa que, partindo de arrays de 5 números enteiros, 5 nomes de produtos e 5 prezos, escriba nun ficheiro binario de nome produtos.dat obxectos da clase produto creados usando a información anterior.

  2. Crea un programa que mostre por pantalla a información gardada en produtos.dat.

  3. Indica cales das seguintes afirmacións sobre SAX e DOM son correctas:

  • Mediante SAX cárgase todo o ficheiro XML en memoria e lese de forma secuencial producindo unha secuencia de eventos.

  • Mediante DOM almacénase toda a estrutura do documento XML en memoria en forma de árbore con nodos pai, nodos fillo e nodos finais.

  • SAX é máis complexo de programar que DOM.

  • O tipo de procesamento de SAX necesita máis recursos de memoria e tempo sobre todo se os ficheiros XML a procesar son bastante grandes e complexos.

  • O tipo de procesamento de DOM impide ter unha visión global do documento polo que navegar.

  1. ¿Cal é a función da clase org.w3c.dom.Document?

    a. Procesar o documento XML.

    b. Almacenar o documento XML nun modelo de obxectos accesible desde Java.

    c. Fabricar un novo construtor de documentos.

  1. Dado o seguinte código XML: “<pedido><!--Datos do pedido --></pedido> indica que elementos DOM atopamos no mesmo:

    a. org.w3c.dom.Element

    b. org.w3c.dom.Node

    c. org.w3c.dom.Text

    d. org.w3c.dom.Comment

  2. ¿Para que se utiliza un procesador de XML ou parser?

  3. Indica cales son os procesadores de XML máis empregados e as principais características de cada un deles.

  4. Explica que é XSL.

  5. Crea un programa que xere un ficheiro xml de nome pedidos.xml, cun elemento raíz de nome pedidos e 10 elementos coa estrutura seguinte:

    <pedido>

        <idPedido> …. </idPedido>

        <nomeCliente> …. </nomeCliente>

        <produto>

            <idProduto> .... </idProduto>

            <descricion> ..… </descricion>

            <prezo> …. </prezo>

        </produto>

    </pedido>

  1.   No programa débense usar arrays de datos para xerar os 10 elementos <pedido>

  2. Crea un programa que lea e mostre por pantalla o contido do ficheiro pedidos.xml. Engade control de erros de maneira que nos mostre unha mensaxe informativa en galego cando o ficheiro a procesar non teña a estrutura esperada.

  3. A partir do ficheiro de obxectos Persoa que creamos en clase, xera un documento XML usando DOM.

  4. Escribe unha clase de nome UtilidadesXML cos seguintes métodos de clase:

  • Método creaDOMBaleiro, que crea un DOM baleiro. Recibe o nome da etiqueta raíz e devolve o documento, de tipo Document.

  • Método creaElementoTexto, que recibe un nome de etiqueta (para crear nodo tipo Element), o texto que contén a etiqueta (para crear nodo tipo Text) e o documento (tipo Document), e devolve un Element que contén o texto.

  • Método XMLaDOM, que recibe unha cadea co nome dun documento XML e devolve un documento DOM (tipo Document).

  • Método mostraElementoRaiz, recibe o documento (tipo Document) e mostra por pantalla o nome do elemento raíz do documento.

  • Método mostraContidoElemento, que recibe un elemento (tipo Element) e mostra por pantalla as etiquetas e os textos incluídos nos nodos fillo deste elemento.

  • Método borraElementosEtiqueta, que recibe un nome de etiqueta e o documento (tipo Document) e borra tódolos elementos con esa etiqueta.

  • Método DOMaXML, que recibe un documento DOM (tipo Document) e unha cadea co nome dun documento XML. Este método converte o DOM en XML.

  1. Escribe unha clase de nome CreaAxenda, que usa os métodos da clase anterior para crear un documento de nome axenda.xml, coa estrutura que se mostra a continuación, no que haxa 6 contactos. Úsense arrais cos datos para xerar cada contacto. Engade na anterior clase os métodos que consideres necesarios.

<axenda>

     <contacto id=1>

      <nome>Luis</nome>   <telefono>222222222</telefono>

  <enderezo>

        <rua>rua Nova </rua>

        <numero>3</numero>

  </enderezo>

  </contacto>

  <contacto id=2>

  ....

  </contacto>

...

</axenda>

  1. Escribe unha clase de nome ProcesaAxenda, que usa os métodos da clase UtilidadesXML para realizar as seguintes tarefas (engade na anterior clase os métodos que consideres necesarios):
  • Carga en memoria usando DOM o ficheiro axenda.xml

  • Mostra por pantalla o nome do elemento raíz.

  • Mostra por pantalla o contido do documento.

  • Borra os elementos de nome telefono e xera axenda1.xml co contido actual do documento en memoria.

  • Borra os elementos de tipo enderezo e xera axenda2.xml co contido actual do documento en memoria.

  • Engade elementos de tipo correoe e xera axenda3.xml co contido actual do documento en memoria.

  1. Utiliza SAX para visualizar o contido do ficheiro empregados.xml creado anteriormente.
  1. Crea un programa que, partindo do ficheiro produtos.dat creado anteriormente, xere un xml, cun elemento raíz de nome <produtos>, e un elemento de nome <produto> por cada un dos produtos. Usa Xstream.
  1. Crea o seguinte programa:

a. Crea unha clase serializable de nome Libro, que teña como atributos:

- ISBN: cadea de caracteres

- Titulo: cadea de caracteres

- Autores: lista de autores (String)

- Ano: enteiro

b. Crea unha clase de nome UtilidadesLibro, cun método de nome xerarDatLibro que, partindo de arrays de datos, cree 6 obxectos da clase libro e os garde nun ficheiro binario de nome libros.dat.

c. Engade na anterior clase un método de nome mostrarDatLibro que mostre por pantalla a información gardada en libros.dat.

d. Engade na anterior clase un método de nome xerarXmlLibroDom que, a partir do ficheiro libros.dat, xera un documento XML usando DOM.

e. Engade na anterior clase un método de nome xerarXmlLibroXStream que, a partir de libros.dat xera un documento XML, cun elemento raíz de nome <libros>, e un elemento <libro> por cada un dos libros.

f. Crea unha clase de nome XestionLibro, cun método main desde o cal se invoca ós métodos anteriores.

g. Proposta de mellora: engadir no libro un campo de nome prestado, de tipo boolean, e un campo de nome Lector, de tipo Persoa.

  1. Crea unha plantilla de nome pedidos.xsl para transformar a html o ficheiro pedidos.xml.
  1. Crea un programa que xenere unha páxina de nome pedidos.html usando pedidos.xml e pedidos.xsl.

Releases

No releases published

Packages

No packages published

Languages