✍️ Parte 1 – Lectura de datos
1. CSV + DOM
Enunciado:
Lee un archivo paises.csv
y muestra el idioma oficial del país introducido por teclado usando DOM.
Solución Java (DOM + CSV manual):
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import java.util.Scanner;
public class LeerCSVConDOM {
public static void main(String[] args) throws Exception {
File archivo = new File("paises.csv");
Scanner sc = new Scanner(archivo);
Scanner teclado = new Scanner(System.in);
System.out.print("Introduce nombre del país: ");
String paisBuscado = teclado.nextLine();
while (sc.hasNextLine()) {
String[] datos = sc.nextLine().split(",");
if (datos[0].equalsIgnoreCase(paisBuscado)) {
System.out.println("Idioma oficial: " + datos[2]);
break;
}
}
}
}
2. SAX + JAXB
Enunciado:
Muestra cuántos practicantes tiene cada religión en España a partir del XML religiones.xml
.
Solución resumida (solo lectura de datos SAX + JAXB combinados):
// SAXHandler personalizado para buscar <practica> donde id_pais="1"
// JAXB para mapear objetos si se desea usar clases POJO (opcional)
Salida esperada (ejemplo):
Catolicismo: 30000000
Protestantismo: 5000000
Islam: 2000000
Judaísmo: 1000000
Budismo: 500000
Hinduismo: 100000
3. EXCEL + JAXB
Enunciado:
Lee paises.xls
y exporta el contenido como XML usando JAXB.
Solución (Apache POI + JAXB):
// Leer con POI
Workbook wb = WorkbookFactory.create(new File("paises.xls"));
Sheet hoja = wb.getSheetAt(0);
// Convertir a objetos y luego guardar con JAXB
🗃️ Parte 2 – Bases de datos NoSQL
4. eXistDB + XML_DB + XQJ
Enunciado:
Consulta desde eXistDB los países con más de 10M de practicantes del Islam.
XQuery con XQJ:
for $p in //practica[@id_religion="3"]
where xs:integer($p/@practicantes) > 10000000
return $p/@id_pais
5. MongoDB
Enunciado:
Consulta todos los países con más de 50 millones de habitantes y línea de costa > 5000 km.
Consulta en MongoDB:
db.paises.find({
num_habitantes: { $gt: 50000000 },
km_linea_costa: { $gt: 5000 }
})
Resultado esperado (ejemplo):
{
"nombre": "España",
"num_habitantes": 47420000,
"km_linea_costa": 7905
}
🖇️ Parte 3 – Hibernate + XML
6. Hibernate + XQJ
Enunciado:
Guarda países/religiones desde XML con Hibernate y consulta las 3 religiones más practicadas en Alemania.
XQuery simplificado (Alemania = id_pais=»4″):
for $p in //practica[@id_pais="4"]
order by xs:integer($p/@practicantes) descending
return <religion>{$p/@id_religion, $p/@practicantes}</religion>
🔁 Parte 4 – Proyecto Integrador
7. Menú de integración múltiple
Enunciado:
Crea una app con menú que lea datos desde CSV, XML, JSON y Excel; los consulte con distintas tecnologías y permita exportar entre formatos.
Opciones del menú:
- Leer CSV con DOM
- Leer XML con SAX/JAXB
- Leer Excel con POI
- Leer JSON con Gson
- Consultar XML con XQJ
- Exportar Excel → JSON
- Exportar XML → CSV
Consejo: Usa JavaFX o consola con switch
para el menú.
✅ Conclusión
Si dominas estos ejercicios, estás más que preparado para el examen. Repasa bien:
- Lectura y escritura con DOM, SAX, JAXB
- Consultas con XQJ y uso de eXistDB
- Manejo de JSON y Excel en Java
- Uso básico de Hibernate con anotaciones
- Consultas MongoDB básicas
¿Quieres este contenido en formato Markdown, HTML o listo para copiar en WordPress con editor visual? Pídemelo y te lo preparo ahora.