primer commit

This commit is contained in:
Isidoro Nevares Martín 2025-10-17 11:52:40 +02:00
commit 185864789c
7 changed files with 294 additions and 0 deletions

10
.classpath Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk-25">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/bin/
*.class

17
.project Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>aadd_act1_10</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -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

119
informacion-IES.xml Normal file
View File

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<instituto nombre="IES Virgen de la Paloma" tipo="FP">
<ciclo codigo="IFC05" nivel="CFGS" familia="IFC" numero_horas="2000">
<nombre_corto>DAM</nombre_corto>
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Multiplataforma</nombre_largo>
<curso numero="1">
<modulo id="11" ref="0186">
<titulo> Bases de datos</titulo>
<numerohoras>205</numerohoras>
</modulo>
<modulo id="12" ref="0188">
<numerohoras>90</numerohoras>
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="13" ref="0194">
<numerohoras>90</numerohoras>
<titulo>Formación y orientación laboral</titulo>
</modulo>
<modulo id="14" ref="0190">
<numerohoras>140</numerohoras>
<titulo>Lenguaje de marcas y sistemas de gestión de información</titulo>
</modulo>
<modulo id="14" ref="0189">
<numerohoras>270</numerohoras>
<titulo>Programación</titulo>
</modulo>
<modulo id="15" ref="0191">
<numerohoras>205</numerohoras>
<titulo>Sistemas informáticos</titulo>
</modulo>
</curso>
<curso numero="2">
<modulo id="21" ref="0286">
<titulo>Acceso a Datos</titulo>
<numerohoras>120</numerohoras>
</modulo>
<modulo id="22" ref="0288">
<numerohoras>120</numerohoras>
<titulo>Diseño de interfaces</titulo>
</modulo>
<modulo id="23" ref="0294">
<numerohoras>65</numerohoras>
<titulo>Empresa e iniciativa emprendedora </titulo>
</modulo>
<modulo id="24" ref="0290">
<numerohoras>80</numerohoras>
<titulo>Programación de servicios y procesos</titulo>
</modulo>
<modulo id="25" ref="0289">
<numerohoras>80</numerohoras>
<titulo>Programación multimedia y dispositivos móviles</titulo>
</modulo>
<modulo id="26" ref="0291">
<numerohoras>40</numerohoras>
<titulo>Inglés técnico para grado superior</titulo>
</modulo>
</curso>
</ciclo>
<ciclo codigo="IFC06" nivel="CFGS" familia="IFC" numero_horas="2000">
<nombre_corto>DAW</nombre_corto>
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Web</nombre_largo>
<curso numero="1">
<modulo id="31" ref="0186">
<titulo> Bases de datos</titulo>
<numerohoras>205</numerohoras>
</modulo>
<modulo id="32" ref="0188">
<numerohoras>90</numerohoras>
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="33" ref="0194">
<numerohoras>90</numerohoras>
<titulo>Formación y orientación laboral</titulo>
</modulo>
<modulo id="34" ref="0190">
<numerohoras>140</numerohoras>
<titulo>Lenguaje de marcas y sistemas de gestión de información</titulo>
</modulo>
<modulo id="34" ref="0189">
<numerohoras>270</numerohoras>
<titulo>Programación</titulo>
</modulo>
<modulo id="35" ref="0191">
<numerohoras>205</numerohoras>
<titulo>Sistemas informáticos</titulo>
</modulo>
</curso>
<curso numero="2">
<modulo id="41" ref="0286">
<titulo>Desarrollo web en entorno cliente</titulo>
<numerohoras>115</numerohoras>
</modulo>
<modulo id="42" ref="0288">
<numerohoras>180</numerohoras>
<titulo>Desarrollo web en entorno servidor</titulo>
</modulo>
<modulo id="43" ref="0294">
<numerohoras>85</numerohoras>
<titulo>Despliegue de aplicaciones web</titulo>
</modulo>
<modulo id="44" ref="0290">
<numerohoras>115</numerohoras>
<titulo>Diseño de interfaces web </titulo>
</modulo>
<modulo id="45" ref="0289">
<numerohoras>30</numerohoras>
<titulo>Proyecto de desarrollo de aplicaciones web </titulo>
</modulo>
<modulo id="46" ref="0291">
<numerohoras>40</numerohoras>
<titulo>Inglés técnico para grado superior</titulo>
</modulo>
<modulo id="23" ref="0294">
<numerohoras>65</numerohoras>
<titulo>Empresa e iniciativa emprendedora </titulo>
</modulo>
</curso>
</ciclo>
</instituto>

View File

@ -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;
}
}