Ejercicios resueltos XML

Ejercicios resueltos XML
A continuación se muestran diferentes ejercicios prácticos resueltos sobre XML.
Ejercicio 1. Lista de libros XML
Crea un documento XML que represente una lista de libros. Cada libro debe tener los siguientes atributos: título, autor y año de publicación. Incluye al menos tres libros en la lista.
Solución:
<?xml version="1.0" encoding="UTF-8"?> <libros> <libro titulo="Cien años de soledad" autor="Gabriel García Márquez" año="1967" /> <libro titulo="1984" autor="George Orwell" año="1949" /> <libro titulo="El gran Gatsby" autor="F. Scott Fitzgerald" año="1925" /> </libros>
Ejercicio 2. Catálogo de productos electrónicos XML
Crea un documento XML que represente un catálogo de productos electrónicos. Cada producto debe tener los siguientes elementos: nombre, descripción, precio y una lista de características. Cada característica debe tener un nombre y un valor asociado. Incluye al menos dos productos en el catálogo, cada uno con diferentes características.
Solución:
<?xml version="1.0" encoding="UTF-8"?> <catalogo> <producto> <nombre>Smartphone XYZ</nombre> <descripcion>Un smartphone avanzado con excelentes características</descripcion> <precio>499.99</precio> <caracteristicas> <caracteristica nombre="Pantalla">5.5 pulgadas</caracteristica> <caracteristica nombre="Procesador">Snapdragon 855</caracteristica> <caracteristica nombre="Memoria RAM">6 GB</caracteristica> </caracteristicas> </producto> <producto> <nombre>Tablet ABC</nombre> <descripcion>Una tablet versátil para el trabajo y el entretenimiento</descripcion> <precio>299.99</precio> <caracteristicas> <caracteristica nombre="Pantalla">10.1 pulgadas</caracteristica> <caracteristica nombre="Procesador">Intel Core i5</caracteristica> <caracteristica nombre="Memoria interna">128 GB</caracteristica> <caracteristica nombre="Sistema operativo">Android 10</caracteristica> </caracteristicas> </producto> </catalogo>
Ejercicio 3. Empleados de una empresa XML
A partir de la siguiente tabla, crea un documento XML que represente la información de los empleados de una empresa.
Nombre | Apellido | Edad | Departamento | Cargo |
---|---|---|---|---|
Ana | García | 30 | Ventas | Ejecutivo de ventas |
Luis | Rodríguez | 45 | Finanzas | Analista financiero |
María | López | 28 | Marketing | Especialista en redes sociales |
Solución:
<?xml version="1.0" encoding="UTF-8"?> <empleados> <empleado> <nombre>Ana</nombre> <apellido>García</apellido> <edad>30</edad> <departamento>Ventas</departamento> <cargo>Ejecutivo de ventas</cargo> </empleado> <empleado> <nombre>Luis</nombre> <apellido>Rodríguez</apellido> <edad>45</edad> <departamento>Finanzas</departamento> <cargo>Analista financiero</cargo> </empleado> <empleado> <nombre>María</nombre> <apellido>López</apellido> <edad>28</edad> <departamento>Marketing</departamento> <cargo>Especialista en redes sociales</cargo> </empleado> </empleados>
Ejercicio 4. Sistema de gestión de productos XML
Imagina que estás desarrollando un sistema de gestión de productos para una tienda en línea. Se te ha proporcionado una lista de productos con su información correspondiente, y se te solicita crear un archivo XML que represente esta información de manera estructurada. Asegúrate de incluir los siguientes detalles para cada producto:
- Código único del producto.
- Nombre del producto.
- Descripción del producto.
- Precio del producto.
- Categoría del producto.
- Disponibilidad del producto (en stock o agotado).
- Imagen del producto (URL de la imagen).
Crea un archivo XML que represente al menos 5 productos de la tienda en línea, asegurándote de seguir las mejores prácticas de estructura XML y de utilizar etiquetas y atributos apropiados.
Solución:
<?xml version="1.0" encoding="UTF-8"?> <tienda> <producto codigo="P001"> <nombre>Camiseta de manga corta</nombre> <descripcion>Camiseta de algodón para hombre, color negro</descripcion> <precio>19.99</precio> <categoria>Ropa</categoria> <disponibilidad>En stock</disponibilidad> <imagen>https://ejemplo.com/imagen1.jpg</imagen> </producto> <producto codigo="P002"> <nombre>Pantalón vaquero</nombre> <descripcion>Pantalón vaquero para mujer, corte recto</descripcion> <precio>39.99</precio> <categoria>Ropa</categoria> <disponibilidad>En stock</disponibilidad> <imagen>https://ejemplo.com/imagen2.jpg</imagen> </producto> <producto codigo="P003"> <nombre>Zapatillas deportivas</nombre> <descripcion>Zapatillas deportivas unisex, color blanco</descripcion> <precio>59.99</precio> <categoria>Zapatos</categoria> <disponibilidad>Agotado</disponibilidad> <imagen>https://ejemplo.com/imagen3.jpg</imagen> </producto> <producto codigo="P004"> <nombre>Bolso de mano</nombre> <descripcion>Bolso de mano para mujer, estilo elegante</descripcion> <precio>29.99</precio> <categoria>Accesorios</categoria> <disponibilidad>En stock</disponibilidad> <imagen>https://ejemplo.com/imagen4.jpg</imagen> </producto> <producto codigo="P005"> <nombre>Reloj de pulsera</nombre> <descripcion>Reloj de pulsera unisex, correa de acero inoxidable</descripcion> <precio>79.99</precio> <categoria>Relojes</categoria> <disponibilidad>En stock</disponibilidad> <imagen>https://ejemplo.com/imagen5.jpg</imagen> </producto> </tienda>
Ejercicio 5. Librería XML bien formada
Corrige el siguiente documento XML para que esté bien formado:
<libreria> <libro genero="Ciencia Ficción"> <titulo>La Fundación</titulo> <autor>Isaac Asimov</autor> <precio>25.99</precio> <disponible>si</disponibilidad> </libro> <libro genero="Fantasía"> <titulo>Juego de Tronos</titulo> <autor>George R.R. Martin</escritor> <precio>29.99</costo> <disponible>no</disponible> </libro> <libro genero="Aventura"> <titulo>La isla del tesoro</titulo> <autor>Robert Louis Stevenson</escritor> <precio>18.99</price> <disponible>si</disponible> </libro> </libreria>
Errores en el documento XML:
- La definición XML no está presente.
- En la primera entrada de
<libro>
, el atributogenero
tiene comillas dobles en lugar de comillas simples. - En la segunda entrada de
<libro>
, el atributogenero
tiene mal el nombre (se escribió «escritor» en lugar de «genero»). - En la segunda entrada de
<libro>
, las etiquetas<autor>
y<precio>
tienen nombres de etiquetas incorrectos en sus etiquetas de cierre (</escritor>
y</costo>
en lugar de</autor>
y</precio>
). - En la tercera entrada de
<libro>
, el atributoprecio
tiene mal el nombre (se escribió «price» en lugar de «precio»).
Documento XML corregido:
<?xml version="1.0" encoding="UTF-8"?> <libreria> <libro genero="Ciencia Ficción"> <titulo>La Fundación</titulo> <autor>Isaac Asimov</autor> <precio>25.99</precio> <disponible>si</disponible> </libro> <libro genero="Fantasía"> <titulo>Juego de Tronos</titulo> <autor>George R.R. Martin</autor> <precio>29.99</precio> <disponible>no</disponible> </libro> <libro genero="Aventura"> <titulo>La isla del tesoro</titulo> <autor>Robert Louis Stevenson</autor> <precio>18.99</precio> <disponible>si</disponible> </libro> </libreria>
Con estas correcciones, el documento XML estará bien formado y listo para ser utilizado correctamente.
Ejercicio 6. Libros con estilo
Dado el documento XML siguiente:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/css" href="estilos.css"?> <libros> <libro> <titulo>Usabilidad: Diseño de Experiencia de Usuario</titulo> <autor>Steve Krug</autor> <genero>Usabilidad</genero> <anio>2018</anio> </libro> <libro> <titulo>No me hagas pensar</titulo> <autor>Steve Krug</autor> <genero>Usabilidad</genero> <anio>2015</anio> </libro> <libro> <titulo>La usabilidad ¡Sí importa!</titulo> <autor>Rolf Molich</autor> <genero>Usabilidad</genero> <anio>2019</anio> </libro> </libros>
Define los siguientes estilos CSS:
- Aplicar un fondo azul claro a los títulos de los libros.
- Aplicar un color de texto rojo al autor de cada libro.
- Aplicar un estilo de fuente cursiva a los géneros de los libros.
- Aplicar un tamaño de fuente más grande al año de publicación de cada libro.
Solución:
/* Estilos para los títulos de los libros */ titulo { background-color: lightblue; } /* Estilos para los autores de los libros */ autor { color: red; } /* Estilos para los géneros de los libros */ genero { font-style: italic; } /* Estilos para los años de publicación de los libros */ anio { font-size: 16px; }