commit 185864789ca58dafc84237a32aff12eb5e35015b Author: Isidoro Nevares Martín Date: Fri Oct 17 11:52:40 2025 +0200 primer commit diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..ca2042c --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e618407 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin/ +*.class \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 0000000..1bb4e3f --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + aadd_act1_10 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8fda750 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=24 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=24 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=24 diff --git a/informacion-IES.xml b/informacion-IES.xml new file mode 100644 index 0000000..9e27bba --- /dev/null +++ b/informacion-IES.xml @@ -0,0 +1,119 @@ + + + + DAM + Técnico Superior en Desarrollo de Aplicaciones Multiplataforma + + + Bases de datos + 205 + + + 90 + Entornos de desarrollo + + + 90 + Formación y orientación laboral + + + 140 + Lenguaje de marcas y sistemas de gestión de información + + + 270 + Programación + + + 205 + Sistemas informáticos + + + + + Acceso a Datos + 120 + + + 120 + Diseño de interfaces + + + 65 + Empresa e iniciativa emprendedora + + + 80 + Programación de servicios y procesos + + + 80 + Programación multimedia y dispositivos móviles + + + 40 + Inglés técnico para grado superior + + + + + DAW + Técnico Superior en Desarrollo de Aplicaciones Web + + + Bases de datos + 205 + + + 90 + Entornos de desarrollo + + + 90 + Formación y orientación laboral + + + 140 + Lenguaje de marcas y sistemas de gestión de información + + + 270 + Programación + + + 205 + Sistemas informáticos + + + + + Desarrollo web en entorno cliente + 115 + + + 180 + Desarrollo web en entorno servidor + + + 85 + Despliegue de aplicaciones web + + + 115 + Diseño de interfaces web + + + 30 + Proyecto de desarrollo de aplicaciones web + + + 40 + Inglés técnico para grado superior + + + 65 + Empresa e iniciativa emprendedora + + + + \ No newline at end of file diff --git a/src/es/palomafp/aadd/inm/GestorInstitutoXML.java b/src/es/palomafp/aadd/inm/GestorInstitutoXML.java new file mode 100644 index 0000000..a8f6bce --- /dev/null +++ b/src/es/palomafp/aadd/inm/GestorInstitutoXML.java @@ -0,0 +1,131 @@ +package es.palomafp.aadd.inm; + +import java.io.File; +import java.util.Scanner; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * + * GestorMapaMundi: Clase que procesa el fichero con información de países y + * continentes + * + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 26 sept 2025 + */ + +public class GestorInstitutoXML { + private static final String RUTA_FICHERO_XML = "informacion-IES.xml"; + + public static void main(String[] args) { + GestorInstitutoXML gestor = new GestorInstitutoXML(); + + Scanner scanner = new Scanner(System.in); // Crear el scanner + + System.out.print("Introduce una opción de procesamiento XML: \n"); + String opcion = scanner.nextLine(); // Leer una opción introducida. + + switch (opcion) { + case "1": + System.out.println("Imprimir instituto"); + gestor.imprimirInstituto(); + break; + case "2": + System.out.println("Imprimir ciclos"); + gestor.imprimirCiclos(); + break; + case "3": + System.out.println("Imprimir módulos que empiezan por 'Programa'"); + gestor.imprimirModulosPrograma(); + break; + } + + scanner.close(); + } + + private void imprimirInstituto() { + Document documento = obtenerDocumentDeFichero(); + NodeList listaNodosInstituto = documento.getElementsByTagName("instituto"); + for (int temp = 0; temp < listaNodosInstituto.getLength(); temp++) { + Node nodoInstituto = listaNodosInstituto.item(temp); + if (nodoInstituto.getNodeType() == Node.ELEMENT_NODE) { + Element instituto = (Element) nodoInstituto; + + // Obtener atributos nombre y tipo + String nombre = instituto.getAttribute("nombre"); + String tipo = instituto.getAttribute("tipo"); + + System.out.println("Instituto- Nombre: " + nombre + ", Tipo: " + tipo); + } + } + } + + private void imprimirCiclos() { + Document documento = obtenerDocumentDeFichero(); + NodeList listaNodosCiclo = documento.getElementsByTagName("ciclo"); + for (int temp = 0; temp < listaNodosCiclo.getLength(); temp++) { + Node nodoCiclo = listaNodosCiclo.item(temp); + if (nodoCiclo.getNodeType() == Node.ELEMENT_NODE) { + Element ciclo = (Element) nodoCiclo; + + // Obtener atributo codigo + String codigo = ciclo.getAttribute("codigo"); + + // Obtener texto nombre_corto + String nombreCorto = ciclo.getElementsByTagName("nombre_corto").item(0).getTextContent(); + + System.out.println("Ciclo - Código: " + codigo + ", Nombre Corto: " + nombreCorto); + } + } + } + + private void imprimirModulosPrograma() { + Document documento = obtenerDocumentDeFichero(); + NodeList listaNodosModulo = documento.getElementsByTagName("modulo"); + for (int temp = 0; temp < listaNodosModulo.getLength(); temp++) { + Node nodoModelo = listaNodosModulo.item(temp); + if (nodoModelo.getNodeType() == Node.ELEMENT_NODE) { + Element modelo = (Element) nodoModelo; + + // Obtener texto del Título + String titulo = modelo.getElementsByTagName("titulo").item(0).getTextContent(); + if (titulo.startsWith("Programa")) { + + // Obtener atributos id y referencia + String id = modelo.getAttribute("id"); + String referencia = modelo.getAttribute("ref"); + + // Obtener Número de horas + String numerohoras = modelo.getElementsByTagName("numerohoras").item(0).getTextContent(); + + System.out.println("Modelo: - Id: " + id + ", Referencia: " + referencia + ", Título: " + titulo + + ", Número de horas: " + numerohoras); + } + } + } + + } + + private Document obtenerDocumentDeFichero() { + Document domDeXML = null; + File file = new File(RUTA_FICHERO_XML); + try { + DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); + domDeXML = dBuilder.parse(file); + // Normalizar el archivo XML (Elimina nodos vacíos y combina adyacentes en caso + // de que los hubiera) + domDeXML.getDocumentElement().normalize(); + + } catch (Exception e) { + e.printStackTrace(); + } + return domDeXML; + } +}