-
- Crea unha clase serializable de nome Produto, que teña como atributos:
-
identificador, enteiro
-
nome do produto: cadea de caracteres
-
prezo: número real.
-
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.
-
Crea un programa que mostre por pantalla a información gardada en produtos.dat.
-
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.
- ¿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.
-
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
-
¿Para que se utiliza un procesador de XML ou parser?
-
Indica cales son os procesadores de XML máis empregados e as principais características de cada un deles.
-
Explica que é XSL.
-
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>
-
No programa débense usar arrays de datos para xerar os 10 elementos <pedido>
-
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.
-
A partir do ficheiro de obxectos Persoa que creamos en clase, xera un documento XML usando DOM.
-
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.
- 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>
- 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.
- Utiliza SAX para visualizar o contido do ficheiro empregados.xml creado anteriormente.
- 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.
- 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.
- Crea unha plantilla de nome pedidos.xsl para transformar a html o ficheiro pedidos.xml.
- Crea un programa que xenere unha páxina de nome pedidos.html usando pedidos.xml e pedidos.xsl.