Adaptación al uso de Jackson con ToXmlGenerator
This commit is contained in:
commit
506cd58543
21
.classpath
Normal file
21
.classpath
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/bin/
|
||||
*.class
|
||||
23
.project
Normal file
23
.project
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>aadd_act1_13</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
14
.settings/org.eclipse.jdt.core.prefs
Normal file
14
.settings/org.eclipse.jdt.core.prefs
Normal file
@ -0,0 +1,14 @@
|
||||
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.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=24
|
||||
4
.settings/org.eclipse.m2e.core.prefs
Normal file
4
.settings/org.eclipse.m2e.core.prefs
Normal file
@ -0,0 +1,4 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
499
informacion-IES_v2.json
Normal file
499
informacion-IES_v2.json
Normal file
@ -0,0 +1,499 @@
|
||||
{
|
||||
"tipo": "FP",
|
||||
"nombre": "IES Virgen de la Paloma",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "M001",
|
||||
"ubicacion": "Aula 101",
|
||||
"tipo": "Laboratorio",
|
||||
"descripcion": "Laboratorio de informática",
|
||||
"capacidad": "30"
|
||||
},
|
||||
{
|
||||
"id": "M002",
|
||||
"ubicacion": "Aula 102",
|
||||
"tipo": "Taller",
|
||||
"descripcion": "Taller de Fundamentos de Hardware",
|
||||
"capacidad": "25"
|
||||
},
|
||||
{
|
||||
"id": "M003",
|
||||
"ubicacion": "Aula 102",
|
||||
"tipo": "Taller",
|
||||
"descripcion": "Taller de Automoción",
|
||||
"capacidad": "25"
|
||||
}
|
||||
],
|
||||
"ciclo": [
|
||||
{
|
||||
"codigo": "IFC05",
|
||||
"nivel": "CFGS",
|
||||
"familia": "IFC",
|
||||
"numero_horas": "2000",
|
||||
"nombre": {
|
||||
"nombre_corto": "DAM",
|
||||
"nombre_largo": "Técnico Superior en Desarrollo de Aplicaciones Multiplataforma"
|
||||
},
|
||||
"curso": [
|
||||
{
|
||||
"numero": "1",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "11",
|
||||
"ref": "0186",
|
||||
"titulo": "Bases de datos",
|
||||
"numerohoras": "205"
|
||||
},
|
||||
{
|
||||
"id": "12",
|
||||
"ref": "0188",
|
||||
"numerohoras": "90",
|
||||
"titulo": "Entornos de desarrollo"
|
||||
},
|
||||
{
|
||||
"id": "13",
|
||||
"ref": "0194",
|
||||
"numerohoras": "90",
|
||||
"titulo": "Formación y orientación laboral"
|
||||
},
|
||||
{
|
||||
"id": "14",
|
||||
"ref": "0190",
|
||||
"numerohoras": "140",
|
||||
"titulo": "Lenguaje de marcas y sistemas de gestión de información"
|
||||
},
|
||||
{
|
||||
"id": "14",
|
||||
"ref": "0189",
|
||||
"numerohoras": "270",
|
||||
"titulo": "Programación"
|
||||
},
|
||||
{
|
||||
"id": "15",
|
||||
"ref": "0191",
|
||||
"numerohoras": "205",
|
||||
"titulo": "Sistemas informáticos"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"numero": "2",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "21",
|
||||
"ref": "0286",
|
||||
"titulo": "Acceso a Datos",
|
||||
"numerohoras": "120"
|
||||
},
|
||||
{
|
||||
"id": "22",
|
||||
"ref": "0288",
|
||||
"numerohoras": "120",
|
||||
"titulo": "Diseño de interfaces"
|
||||
},
|
||||
{
|
||||
"id": "23",
|
||||
"ref": "0294",
|
||||
"numerohoras": "65",
|
||||
"titulo": "Empresa e iniciativa emprendedora"
|
||||
},
|
||||
{
|
||||
"id": "24",
|
||||
"ref": "0290",
|
||||
"numerohoras": "80",
|
||||
"titulo": "Programación de servicios y procesos"
|
||||
},
|
||||
{
|
||||
"id": "25",
|
||||
"ref": "0289",
|
||||
"numerohoras": "80",
|
||||
"titulo": "Programación multimedia y dispositivos móviles"
|
||||
},
|
||||
{
|
||||
"id": "26",
|
||||
"ref": "0291",
|
||||
"numerohoras": "40",
|
||||
"titulo": "Inglés técnico para grado superior"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"codigo": "IFC06",
|
||||
"nivel": "CFGS",
|
||||
"familia": "IFC",
|
||||
"numero_horas": "2000",
|
||||
"nombre": {
|
||||
"nombre_corto": "DAW",
|
||||
"nombre_largo": "Técnico Superior en Desarrollo de Aplicaciones Web"
|
||||
},
|
||||
"curso": [
|
||||
{
|
||||
"numero": "1",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "31",
|
||||
"ref": "0186",
|
||||
"titulo": "Bases de datos",
|
||||
"numerohoras": "205"
|
||||
},
|
||||
{
|
||||
"id": "32",
|
||||
"ref": "0188",
|
||||
"numerohoras": "90",
|
||||
"titulo": "Entornos de desarrollo"
|
||||
},
|
||||
{
|
||||
"id": "33",
|
||||
"ref": "0194",
|
||||
"numerohoras": "90",
|
||||
"titulo": "Formación y orientación laboral"
|
||||
},
|
||||
{
|
||||
"id": "34",
|
||||
"ref": "0190",
|
||||
"numerohoras": "140",
|
||||
"titulo": "Lenguaje de marcas y sistemas de gestión de información"
|
||||
},
|
||||
{
|
||||
"id": "34",
|
||||
"ref": "0189",
|
||||
"numerohoras": "270",
|
||||
"titulo": "Programación"
|
||||
},
|
||||
{
|
||||
"id": "35",
|
||||
"ref": "0191",
|
||||
"numerohoras": "205",
|
||||
"titulo": "Sistemas informáticos"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"numero": "2",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "41",
|
||||
"ref": "0286",
|
||||
"titulo": "Desarrollo web en entorno cliente",
|
||||
"numerohoras": "115"
|
||||
},
|
||||
{
|
||||
"id": "42",
|
||||
"ref": "0288",
|
||||
"numerohoras": "180",
|
||||
"titulo": "Desarrollo web en entorno servidor"
|
||||
},
|
||||
{
|
||||
"id": "43",
|
||||
"ref": "0294",
|
||||
"numerohoras": "85",
|
||||
"titulo": "Despliegue de aplicaciones web"
|
||||
},
|
||||
{
|
||||
"id": "44",
|
||||
"ref": "0290",
|
||||
"numerohoras": "115",
|
||||
"titulo": "Diseño de interfaces web"
|
||||
},
|
||||
{
|
||||
"id": "45",
|
||||
"ref": "0289",
|
||||
"numerohoras": "30",
|
||||
"titulo": "Proyecto de desarrollo de aplicaciones web"
|
||||
},
|
||||
{
|
||||
"id": "46",
|
||||
"ref": "0291",
|
||||
"numerohoras": "40",
|
||||
"titulo": "Inglés técnico para grado superior"
|
||||
},
|
||||
{
|
||||
"id": "23",
|
||||
"ref": "0294",
|
||||
"numerohoras": "65",
|
||||
"titulo": "Empresa e iniciativa emprendedora"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"codigo": "IFC03",
|
||||
"nivel": "CFGS",
|
||||
"familia": "IFC",
|
||||
"numero_horas": "2000",
|
||||
"nombre": {
|
||||
"nombre_corto": "ASIR",
|
||||
"nombre_largo": "Técnico Superior en Administración de Sistemas Informáticos en Red"
|
||||
},
|
||||
"curso": [
|
||||
{
|
||||
"numero": "1",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "ASIR01",
|
||||
"ref": "0223",
|
||||
"titulo": "Implantación de sistemas operativos",
|
||||
"numerohoras": "231"
|
||||
},
|
||||
{
|
||||
"id": "ASIR02",
|
||||
"ref": "0226",
|
||||
"titulo": "Planificación y administración de redes",
|
||||
"numerohoras": "231"
|
||||
},
|
||||
{
|
||||
"id": "ASIR03",
|
||||
"ref": "0227",
|
||||
"titulo": "Fundamentos de hardware",
|
||||
"numerohoras": "165"
|
||||
},
|
||||
{
|
||||
"id": "ASIR04",
|
||||
"ref": "0228",
|
||||
"titulo": "Gestión de bases de datos",
|
||||
"numerohoras": "198"
|
||||
},
|
||||
{
|
||||
"id": "ASIR05",
|
||||
"ref": "0231",
|
||||
"titulo": "Lenguajes de marcas y sistemas de gestión de información",
|
||||
"numerohoras": "132"
|
||||
},
|
||||
{
|
||||
"id": "ASIR06",
|
||||
"ref": "0233",
|
||||
"titulo": "Formación y orientación laboral",
|
||||
"numerohoras": "99"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"numero": "2",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "ASIR07",
|
||||
"ref": "0229",
|
||||
"titulo": "Administración de sistemas operativos",
|
||||
"numerohoras": "105"
|
||||
},
|
||||
{
|
||||
"id": "ASIR08",
|
||||
"ref": "0230",
|
||||
"titulo": "Servicios de red e Internet",
|
||||
"numerohoras": "126"
|
||||
},
|
||||
{
|
||||
"id": "ASIR09",
|
||||
"ref": "0232",
|
||||
"titulo": "Implantación de aplicaciones web",
|
||||
"numerohoras": "84"
|
||||
},
|
||||
{
|
||||
"id": "ASIR10",
|
||||
"ref": "0234",
|
||||
"titulo": "Administración de sistemas gestores de bases de datos",
|
||||
"numerohoras": "84"
|
||||
},
|
||||
{
|
||||
"id": "ASIR11",
|
||||
"ref": "0235",
|
||||
"titulo": "Seguridad y alta disponibilidad",
|
||||
"numerohoras": "126"
|
||||
},
|
||||
{
|
||||
"id": "ASIR12",
|
||||
"ref": "0236",
|
||||
"titulo": "Empresa e iniciativa emprendedora",
|
||||
"numerohoras": "66"
|
||||
},
|
||||
{
|
||||
"id": "ASIR13",
|
||||
"ref": "FCT",
|
||||
"titulo": "Formación en centros de trabajo",
|
||||
"numerohoras": "370"
|
||||
},
|
||||
{
|
||||
"id": "ASIR14",
|
||||
"ref": "PRJ",
|
||||
"titulo": "Proyecto de Administración de Sistemas Informáticos en Red",
|
||||
"numerohoras": "40"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"codigo": "IFC02",
|
||||
"nivel": "CFGM",
|
||||
"familia": "IFC",
|
||||
"numero_horas": "2000",
|
||||
"nombre": {
|
||||
"nombre_corto": "SMR",
|
||||
"nombre_largo": "Técnico en Sistemas Microinformáticos y Redes"
|
||||
},
|
||||
"curso": [
|
||||
{
|
||||
"numero": "1",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "SMR01",
|
||||
"ref": "0223",
|
||||
"titulo": "Montaje y mantenimiento de equipos",
|
||||
"numerohoras": "198"
|
||||
},
|
||||
{
|
||||
"id": "SMR02",
|
||||
"ref": "0224",
|
||||
"titulo": "Sistemas operativos monopuesto",
|
||||
"numerohoras": "198"
|
||||
},
|
||||
{
|
||||
"id": "SMR03",
|
||||
"ref": "0225",
|
||||
"titulo": "Aplicaciones ofimáticas",
|
||||
"numerohoras": "231"
|
||||
},
|
||||
{
|
||||
"id": "SMR04",
|
||||
"ref": "0226",
|
||||
"titulo": "Redes locales",
|
||||
"numerohoras": "198"
|
||||
},
|
||||
{
|
||||
"id": "SMR05",
|
||||
"ref": "0233",
|
||||
"titulo": "Formación y orientación laboral",
|
||||
"numerohoras": "99"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"numero": "2",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "SMR06",
|
||||
"ref": "0227",
|
||||
"titulo": "Sistemas operativos en red",
|
||||
"numerohoras": "168"
|
||||
},
|
||||
{
|
||||
"id": "SMR07",
|
||||
"ref": "0228",
|
||||
"titulo": "Seguridad informática",
|
||||
"numerohoras": "105"
|
||||
},
|
||||
{
|
||||
"id": "SMR08",
|
||||
"ref": "0229",
|
||||
"titulo": "Servicios en red",
|
||||
"numerohoras": "168"
|
||||
},
|
||||
{
|
||||
"id": "SMR09",
|
||||
"ref": "0230",
|
||||
"titulo": "Aplicaciones web",
|
||||
"numerohoras": "105"
|
||||
},
|
||||
{
|
||||
"id": "SMR10",
|
||||
"ref": "0234",
|
||||
"titulo": "Empresa e iniciativa emprendedora",
|
||||
"numerohoras": "66"
|
||||
},
|
||||
{
|
||||
"id": "SMR11",
|
||||
"ref": "FCT",
|
||||
"titulo": "Formación en centros de trabajo",
|
||||
"numerohoras": "370"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"codigo": "FB01",
|
||||
"nivel": "CFGB",
|
||||
"familia": "IFC",
|
||||
"numero_horas": "2000",
|
||||
"nombre": {
|
||||
"nombre_corto": "INFOBAS",
|
||||
"nombre_largo": "Título Profesional Básico en Informática de Oficina"
|
||||
},
|
||||
"curso": [
|
||||
{
|
||||
"numero": "1",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "INF01",
|
||||
"ref": "MB101",
|
||||
"titulo": "Aplicaciones básicas de ofimática",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF02",
|
||||
"ref": "MB102",
|
||||
"titulo": "Montaje y mantenimiento de sistemas y componentes informáticos",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF03",
|
||||
"ref": "MB103",
|
||||
"titulo": "Ciencias aplicadas I",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF04",
|
||||
"ref": "MB104",
|
||||
"titulo": "Comunicación y sociedad I",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF05",
|
||||
"ref": "MB105",
|
||||
"titulo": "Tutorización y orientación",
|
||||
"numerohoras": "80"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"numero": "2",
|
||||
"modulo": [
|
||||
{
|
||||
"id": "INF06",
|
||||
"ref": "MB106",
|
||||
"titulo": "Tratamiento de textos y presentación de información",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF07",
|
||||
"ref": "MB107",
|
||||
"titulo": "Operaciones auxiliares de mantenimiento de sistemas informáticos",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF08",
|
||||
"ref": "MB108",
|
||||
"titulo": "Ciencias aplicadas II",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF09",
|
||||
"ref": "MB109",
|
||||
"titulo": "Comunicación y sociedad II",
|
||||
"numerohoras": "160"
|
||||
},
|
||||
{
|
||||
"id": "INF10",
|
||||
"ref": "FCT",
|
||||
"titulo": "Formación en centros de trabajo",
|
||||
"numerohoras": "260"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
315
informacion-IES_v2.xml
Normal file
315
informacion-IES_v2.xml
Normal file
@ -0,0 +1,315 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<instituto tipo="FP">
|
||||
<nombre>IES Virgen de la Paloma</nombre>
|
||||
<!-- Módulos físicos del instituto -->
|
||||
<modulo id="M001" ubicacion="Aula 101" tipo="Laboratorio">
|
||||
<descripcion>Laboratorio de informática</descripcion>
|
||||
<capacidad>30</capacidad>
|
||||
</modulo>
|
||||
<modulo id="M002" ubicacion="Aula 102" tipo="Taller">
|
||||
<descripcion>Taller de Fundamentos de Hardware</descripcion>
|
||||
<capacidad>25</capacidad>
|
||||
</modulo>
|
||||
<modulo id="M003" ubicacion="Aula 102" tipo="Taller">
|
||||
<descripcion>Taller de Automoción</descripcion>
|
||||
<capacidad>25</capacidad>
|
||||
</modulo>
|
||||
|
||||
<ciclo codigo="IFC05" nivel="CFGS" familia="IFC" numero_horas="2000">
|
||||
<nombre>
|
||||
<nombre_corto>DAM</nombre_corto>
|
||||
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Multiplataforma</nombre_largo>
|
||||
</nombre>
|
||||
<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>
|
||||
<nombre_corto>DAW</nombre_corto>
|
||||
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Web</nombre_largo>
|
||||
</nombre>
|
||||
<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>
<ciclo codigo="IFC03" nivel="CFGS" familia="IFC" numero_horas="2000">
|
||||
<nombre>
|
||||
<nombre_corto>ASIR</nombre_corto>
|
||||
<nombre_largo>Técnico Superior en Administración de Sistemas Informáticos en Red</nombre_largo>
|
||||
</nombre>
|
||||
|
||||
<curso numero="1">
|
||||
<modulo id="ASIR01" ref="0223">
|
||||
<titulo>Implantación de sistemas operativos</titulo>
|
||||
<numerohoras>231</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR02" ref="0226">
|
||||
<titulo>Planificación y administración de redes</titulo>
|
||||
<numerohoras>231</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR03" ref="0227">
|
||||
<titulo>Fundamentos de hardware</titulo>
|
||||
<numerohoras>165</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR04" ref="0228">
|
||||
<titulo>Gestión de bases de datos</titulo>
|
||||
<numerohoras>198</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR05" ref="0231">
|
||||
<titulo>Lenguajes de marcas y sistemas de gestión de información</titulo>
|
||||
<numerohoras>132</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR06" ref="0233">
|
||||
<titulo>Formación y orientación laboral</titulo>
|
||||
<numerohoras>99</numerohoras>
|
||||
</modulo>
|
||||
</curso>
|
||||
<curso numero="2">
|
||||
<modulo id="ASIR07" ref="0229">
|
||||
<titulo>Administración de sistemas operativos</titulo>
|
||||
<numerohoras>105</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR08" ref="0230">
|
||||
<titulo>Servicios de red e Internet</titulo>
|
||||
<numerohoras>126</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR09" ref="0232">
|
||||
<titulo>Implantación de aplicaciones web</titulo>
|
||||
<numerohoras>84</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR10" ref="0234">
|
||||
<titulo>Administración de sistemas gestores de bases de datos</titulo>
|
||||
<numerohoras>84</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR11" ref="0235">
|
||||
<titulo>Seguridad y alta disponibilidad</titulo>
|
||||
<numerohoras>126</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR12" ref="0236">
|
||||
<titulo>Empresa e iniciativa emprendedora</titulo>
|
||||
<numerohoras>66</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR13" ref="FCT">
|
||||
<titulo>Formación en centros de trabajo</titulo>
|
||||
<numerohoras>370</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="ASIR14" ref="PRJ">
|
||||
<titulo>Proyecto de Administración de Sistemas Informáticos en Red</titulo>
|
||||
<numerohoras>40</numerohoras>
|
||||
</modulo>
|
||||
</curso>
|
||||
</ciclo>
|
||||
<!-- Ciclo de Grado Medio: SMR -->
|
||||
<ciclo codigo="IFC02" nivel="CFGM" familia="IFC" numero_horas="2000">
|
||||
<nombre>
|
||||
<nombre_corto>SMR</nombre_corto>
|
||||
<nombre_largo>Técnico en Sistemas Microinformáticos y Redes</nombre_largo>
|
||||
</nombre>
|
||||
|
||||
<curso numero="1">
|
||||
<modulo id="SMR01" ref="0223">
|
||||
<titulo>Montaje y mantenimiento de equipos</titulo>
|
||||
<numerohoras>198</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR02" ref="0224">
|
||||
<titulo>Sistemas operativos monopuesto</titulo>
|
||||
<numerohoras>198</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR03" ref="0225">
|
||||
<titulo>Aplicaciones ofimáticas</titulo>
|
||||
<numerohoras>231</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR04" ref="0226">
|
||||
<titulo>Redes locales</titulo>
|
||||
<numerohoras>198</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR05" ref="0233">
|
||||
<titulo>Formación y orientación laboral</titulo>
|
||||
<numerohoras>99</numerohoras>
|
||||
</modulo>
|
||||
</curso>
|
||||
|
||||
<curso numero="2">
|
||||
<modulo id="SMR06" ref="0227">
|
||||
<titulo>Sistemas operativos en red</titulo>
|
||||
<numerohoras>168</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR07" ref="0228">
|
||||
<titulo>Seguridad informática</titulo>
|
||||
<numerohoras>105</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR08" ref="0229">
|
||||
<titulo>Servicios en red</titulo>
|
||||
<numerohoras>168</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR09" ref="0230">
|
||||
<titulo>Aplicaciones web</titulo>
|
||||
<numerohoras>105</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR10" ref="0234">
|
||||
<titulo>Empresa e iniciativa emprendedora</titulo>
|
||||
<numerohoras>66</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="SMR11" ref="FCT">
|
||||
<titulo>Formación en centros de trabajo</titulo>
|
||||
<numerohoras>370</numerohoras>
|
||||
</modulo>
|
||||
</curso>
|
||||
</ciclo>
|
||||
|
||||
<!-- Ciclo de Grado Básico: Informática de Oficina -->
|
||||
<ciclo codigo="FB01" nivel="CFGB" familia="IFC" numero_horas="2000">
|
||||
<nombre>
|
||||
<nombre_corto>INFOBAS</nombre_corto>
|
||||
<nombre_largo>Título Profesional Básico en Informática de Oficina</nombre_largo>
|
||||
</nombre>
|
||||
|
||||
<curso numero="1">
|
||||
<modulo id="INF01" ref="MB101">
|
||||
<titulo>Aplicaciones básicas de ofimática</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF02" ref="MB102">
|
||||
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF03" ref="MB103">
|
||||
<titulo>Ciencias aplicadas I</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF04" ref="MB104">
|
||||
<titulo>Comunicación y sociedad I</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF05" ref="MB105">
|
||||
<titulo>Tutorización y orientación</titulo>
|
||||
<numerohoras>80</numerohoras>
|
||||
</modulo>
|
||||
</curso>
|
||||
|
||||
<curso numero="2">
|
||||
<modulo id="INF06" ref="MB106">
|
||||
<titulo>Tratamiento de textos y presentación de información</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF07" ref="MB107">
|
||||
<titulo>Operaciones auxiliares de mantenimiento de sistemas informáticos</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF08" ref="MB108">
|
||||
<titulo>Ciencias aplicadas II</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF09" ref="MB109">
|
||||
<titulo>Comunicación y sociedad II</titulo>
|
||||
<numerohoras>160</numerohoras>
|
||||
</modulo>
|
||||
<modulo id="INF10" ref="FCT">
|
||||
<titulo>Formación en centros de trabajo</titulo>
|
||||
<numerohoras>260</numerohoras>
|
||||
</modulo>
|
||||
</curso>
|
||||
</ciclo>
|
||||
</instituto>
|
||||
1
persona.xml
Normal file
1
persona.xml
Normal file
@ -0,0 +1 @@
|
||||
<ObjectNode><nombre>Juan</nombre><edad>30</edad><direccion><@tipo>principal</@tipo><calle>Gran Via</calle><ciudad>Madrid</ciudad></direccion><telefono><@tipo>movil</@tipo><#text>600123123</#text></telefono><telefono><@tipo>fijo</@tipo><#text>915551212</#text></telefono></ObjectNode>
|
||||
26
pom.xml
Normal file
26
pom.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>aadd_act1_12</groupId>
|
||||
<artifactId>aadd_act1_12</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<!-- https://mvnrepository.com/artifact/tools.jackson.dataformat/jackson-dataformat-xml -->
|
||||
<dependency>
|
||||
<groupId>tools.jackson.dataformat</groupId>
|
||||
<artifactId>jackson-dataformat-xml</artifactId>
|
||||
<version>3.0.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<release>24</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
316
src/es/palomafp/aadd/inm/GestorInstitutoXML.java
Normal file
316
src/es/palomafp/aadd/inm/GestorInstitutoXML.java
Normal file
@ -0,0 +1,316 @@
|
||||
package es.palomafp.aadd.inm;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.util.Scanner;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import tools.jackson.databind.JsonNode;
|
||||
import tools.jackson.databind.ObjectMapper;
|
||||
import tools.jackson.databind.node.ArrayNode;
|
||||
import tools.jackson.dataformat.xml.XmlMapper;
|
||||
import tools.jackson.dataformat.xml.ser.ToXmlGenerator;
|
||||
|
||||
/**
|
||||
*
|
||||
* GestorInstitutoXML: Clase que procesa un fichero XML de un instituto
|
||||
* utilizando Jackson
|
||||
*
|
||||
* @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_v2.xml";
|
||||
private static final String RUTA_FICHERO_JSON = "informacion-IES_v2.json";
|
||||
private static final String RUTA_FICHERO_SALIDA_XML = "informacion-ciclos_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;
|
||||
case "4":
|
||||
System.out.println(
|
||||
"Imprimir módulos cuyo título empieza por “Programa” y el número de horas es mayor de 100 o bien el título incluyen la palabra “desarrollo” (da igual mayúscula o minúscula) que, además, ocurran en ciclos de nivel grado superior (CFGS) del curso 1");
|
||||
gestor.imprimirModulosFiltro2();
|
||||
break;
|
||||
case "5":
|
||||
System.out.println("Almacenar instituto en fichero usando Jackson-JsonNode");
|
||||
gestor.guardarInstitutoFicheroJackson();
|
||||
break;
|
||||
}
|
||||
|
||||
scanner.close();
|
||||
}
|
||||
|
||||
private void imprimirInstituto() {
|
||||
JsonNode nodoRaiz = obtenerJsonNodeDeFicheroXML(); // El nodo raíz es el nodo "instituto" (y únicamente hay
|
||||
// uno).
|
||||
// Obtener los atributos del nodo "instituto"
|
||||
String nombreInstituto = nodoRaiz.path("nombre").asString();
|
||||
String tipoInstituto = nodoRaiz.path("tipo").asString();
|
||||
|
||||
System.out.println("Nombre del Instituto: " + nombreInstituto + " - Tipo del Instituto: " + tipoInstituto);
|
||||
}
|
||||
|
||||
private void imprimirCiclos() {
|
||||
JsonNode nodoRaiz = obtenerJsonNodeDeFicheroXML();
|
||||
// Obtener los nodos "ciclo"
|
||||
ArrayNode ciclos = convertirJsonNodeEnArrayNode(nodoRaiz.path("ciclo"));
|
||||
|
||||
for (JsonNode ciclo : ciclos) {
|
||||
String codigo = ciclo.path("codigo").asString();// Accedemos al atributo 'codigo'
|
||||
JsonNode nodoNombreCiclo = ciclo.path("nombre");
|
||||
String nombreCorto = nodoNombreCiclo.path("nombre_corto").asString();// Accedemos al atributo 'nombre corto'
|
||||
|
||||
System.out.println("Ciclo - Código: " + codigo + ", Nombre Corto: " + nombreCorto);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void imprimirModulosPrograma() {
|
||||
JsonNode nodoRaiz = obtenerJsonNodeDeFicheroXML();
|
||||
|
||||
// Obtener los nodos "ciclo"
|
||||
ArrayNode ciclos = convertirJsonNodeEnArrayNode(nodoRaiz.path("ciclo"));
|
||||
for (JsonNode ciclo : ciclos) {
|
||||
// Obtener los nodos "curso"
|
||||
ArrayNode cursos = convertirJsonNodeEnArrayNode(ciclo.path("curso"));
|
||||
for (JsonNode curso : cursos) {
|
||||
// Obtener los nodos "modulo"
|
||||
ArrayNode modulos = convertirJsonNodeEnArrayNode(curso.path("modulo"));
|
||||
|
||||
for (JsonNode modulo : modulos) {
|
||||
String titulo = modulo.path("titulo").asString();
|
||||
if (!titulo.isEmpty() && titulo.startsWith("Programa")) {
|
||||
String id = modulo.path("id").asString();
|
||||
String referencia = modulo.path("ref").asString();
|
||||
String numeroHoras = modulo.path("numerohoras").asString();
|
||||
|
||||
System.out.println("Modelo: - Id: " + id + ", Referencia: " + referencia + ", Título: " + titulo
|
||||
+ ", Número de horas: " + numeroHoras);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void imprimirModulosFiltro2() {
|
||||
JsonNode nodoRaiz = obtenerJsonNodeDeFicheroXML();
|
||||
|
||||
// Obtener los nodos "ciclo"
|
||||
ArrayNode ciclos = convertirJsonNodeEnArrayNode(nodoRaiz.path("ciclo"));
|
||||
for (JsonNode ciclo : ciclos) {
|
||||
String nivel = ciclo.path("nivel").asString();
|
||||
if (nivel.equals("CFGS")) {
|
||||
// Obtener los nodos "curso"
|
||||
ArrayNode cursos = convertirJsonNodeEnArrayNode(ciclo.path("curso"));
|
||||
for (JsonNode curso : cursos) {
|
||||
String numeroCurso = curso.path("numero").asString();
|
||||
if (numeroCurso.equals("1")) {
|
||||
// Obtener los nodos "modulo"
|
||||
ArrayNode modulos = convertirJsonNodeEnArrayNode(curso.path("modulo"));
|
||||
|
||||
for (JsonNode modulo : modulos) {
|
||||
String titulo = modulo.path("titulo").asString();
|
||||
int numeroHoras = Integer.parseInt(modulo.path("numerohoras").asString());
|
||||
if ((!titulo.isEmpty() && titulo.startsWith("Programa") && numeroHoras > 100)
|
||||
|| titulo.toLowerCase().contains("desarrollo")) {
|
||||
String id = modulo.path("id").asString();
|
||||
String referencia = modulo.path("ref").asString();
|
||||
|
||||
System.out.println("Modelo: - Id: " + id + ", Referencia: " + referencia + ", Título: "
|
||||
+ titulo + ", Número de horas: " + numeroHoras);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void guardarInstitutoFicheroJackson() {
|
||||
JsonNode nodoInstituto = obtenerJsonNodeDeFicheroXML();
|
||||
|
||||
StringWriter sw = new StringWriter();
|
||||
XmlMapper xmlMapper = new XmlMapper();
|
||||
|
||||
// Creamos el ToXmlGenerator (es un JsonGenerator especializado para XML)
|
||||
ToXmlGenerator generador = (ToXmlGenerator) xmlMapper.writerWithDefaultPrettyPrinter().createGenerator(sw);
|
||||
|
||||
try { // Escribimos la declaración XML (<?xml version='1.0' encoding='UTF-8'?>)
|
||||
generador.getStaxWriter().writeStartDocument("UTF-8", "1.0");
|
||||
generador.getStaxWriter().writeCharacters("\n");
|
||||
} catch (XMLStreamException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
// Iniciamos la escritura del objeto XML
|
||||
generador.initGenerator();
|
||||
|
||||
// Trabajamos con el nodo instituto
|
||||
guardarInstitutoFicheroJackson(nodoInstituto, generador);
|
||||
|
||||
generador.close();
|
||||
|
||||
Path out = Paths.get(RUTA_FICHERO_SALIDA_XML);
|
||||
try {
|
||||
Files.writeString(out, sw.toString(), StandardCharsets.UTF_8,
|
||||
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void guardarInstitutoFicheroJackson(JsonNode nodoInstituto, ToXmlGenerator generador) {
|
||||
generador.setNextName(new QName(null, "instituto")); // empezamos el elemento <instituto>
|
||||
generador.writeStartObject();
|
||||
|
||||
generador.setNextIsAttribute(true);
|
||||
generador.writeStringProperty("tipo", nodoInstituto.path("tipo").asString()); // escribe atributo tipo="CFGS"
|
||||
generador.setNextIsAttribute(false);
|
||||
generador.writeStringProperty("nombre", nodoInstituto.path("nombre").asString()); // nombre="IES Virgen de la Paloma"
|
||||
|
||||
// Obtener los nodos "ciclo" para almacenarlos
|
||||
ArrayNode ciclos = convertirJsonNodeEnArrayNode(nodoInstituto.path("ciclo"));
|
||||
for (JsonNode ciclo : ciclos) {
|
||||
guardarCiclosFicheroJackson(ciclo, generador);
|
||||
}
|
||||
|
||||
generador.writeEndObject(); // termina <instituto>
|
||||
|
||||
}
|
||||
private void guardarCiclosFicheroJackson(JsonNode nodoCiclo, ToXmlGenerator generador) {
|
||||
|
||||
// Crear el elemento ciclo
|
||||
generador.writeName("ciclo");
|
||||
generador.writeStartObject();
|
||||
|
||||
// Escribir los atributos del ciclo
|
||||
String nivel = nodoCiclo.path("nivel").asString();
|
||||
String codigo = nodoCiclo.path("codigo").asString();
|
||||
generador.setNextIsAttribute(true);
|
||||
generador.writeStringProperty("codigo", codigo);
|
||||
generador.writeStringProperty("nivel", nivel);
|
||||
generador.setNextIsAttribute(false);
|
||||
|
||||
// Escribir los elementos del ciclo
|
||||
String nombreCorto = nodoCiclo.path("nombre").path("nombre_corto").asString();
|
||||
String nombreLargo = nodoCiclo.path("nombre").path("nombre_largo").asString();
|
||||
generador.writeStringProperty("nombre_corto", nombreCorto);
|
||||
generador.writeStringProperty("nombre_largo", nombreLargo);
|
||||
|
||||
// Obtener los nodos "curso"
|
||||
ArrayNode cursos = convertirJsonNodeEnArrayNode(nodoCiclo.path("curso"));
|
||||
for (JsonNode curso : cursos) {
|
||||
guardarCursoFicheroJackson(curso, generador);
|
||||
}
|
||||
|
||||
// Cerrar el elemento ciclo
|
||||
generador.writeEndObject();
|
||||
|
||||
}
|
||||
|
||||
private void guardarCursoFicheroJackson(JsonNode nodoCurso, ToXmlGenerator generador) {
|
||||
|
||||
// Crear el elemento curso
|
||||
generador.writeName("curso");
|
||||
generador.writeStartObject();
|
||||
|
||||
// Escribir los atributos del curso
|
||||
String numero = nodoCurso.path("numero").asString();
|
||||
generador.setNextIsAttribute(true);
|
||||
generador.writeStringProperty("num", numero);
|
||||
generador.setNextIsAttribute(false);
|
||||
|
||||
// Obtener los nodos "modulo"
|
||||
ArrayNode modulos = convertirJsonNodeEnArrayNode(nodoCurso.path("modulo"));
|
||||
for (JsonNode modulo : modulos) {
|
||||
guardarModuloFicheroJackson(modulo, generador);
|
||||
}
|
||||
// Cerrar el elemento curso
|
||||
generador.writeEndObject();
|
||||
|
||||
}
|
||||
|
||||
private void guardarModuloFicheroJackson(JsonNode nodoModulo, ToXmlGenerator generador) {
|
||||
|
||||
// Crear el elemento modulo
|
||||
generador.writeName("modulo");
|
||||
generador.writeStartObject();
|
||||
|
||||
// Escribir los atributos del modulo
|
||||
String id = nodoModulo.path("id").asString();
|
||||
String ref = nodoModulo.path("ref").asString();
|
||||
String numeroHoras = nodoModulo.path("numerohoras").asString();
|
||||
generador.setNextIsAttribute(true);
|
||||
generador.writeStringProperty("id", id);
|
||||
generador.writeStringProperty("ref", ref);
|
||||
generador.writeStringProperty("numero_horas", numeroHoras);
|
||||
generador.setNextIsAttribute(false);
|
||||
String titulo = nodoModulo.path("titulo").asString();
|
||||
generador.writeStringProperty("titulo", titulo);
|
||||
|
||||
// Cerrar el elemento curso
|
||||
generador.writeEndObject();
|
||||
|
||||
}
|
||||
|
||||
private JsonNode obtenerJsonNodeDeFicheroXML() {
|
||||
// Cargar el XML
|
||||
XmlMapper xmlMapper = new XmlMapper();
|
||||
JsonNode root = xmlMapper.readTree(new File(RUTA_FICHERO_XML));
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
private JsonNode obtenerJsonNodeDeFicheroJSON() {
|
||||
// Cargar el XML
|
||||
ObjectMapper xmlMapper = new ObjectMapper();
|
||||
JsonNode root = xmlMapper.readTree(new File(RUTA_FICHERO_JSON));
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
private ArrayNode convertirJsonNodeEnArrayNode(JsonNode node) {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
if (node.isArray()) {
|
||||
return (ArrayNode) node;
|
||||
} else {
|
||||
ArrayNode arrayNode = mapper.createArrayNode();
|
||||
if (!node.isMissingNode()) {
|
||||
arrayNode.add(node);
|
||||
}
|
||||
return arrayNode;
|
||||
}
|
||||
}
|
||||
}
|
||||
4
target/classes/META-INF/MANIFEST.MF
Normal file
4
target/classes/META-INF/MANIFEST.MF
Normal file
@ -0,0 +1,4 @@
|
||||
Manifest-Version: 1.0
|
||||
Build-Jdk-Spec: 25
|
||||
Created-By: Maven Integration for Eclipse
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
#Generated by Maven Integration for Eclipse
|
||||
#Fri Oct 31 12:46:03 CET 2025
|
||||
artifactId=aadd_act1_12
|
||||
groupId=aadd_act1_12
|
||||
m2e.projectLocation=C\:\\Users\\ineva\\INM\\Personal\\Trabajo\\00-Educaci\u00F3n - CM\\10-Curso 2025-2026\\02-Acceso de datos -DAM2\\workspace\\aadd_act1_13
|
||||
m2e.projectName=aadd_act1_13
|
||||
version=0.0.1-SNAPSHOT
|
||||
@ -0,0 +1,26 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>aadd_act1_12</groupId>
|
||||
<artifactId>aadd_act1_12</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<!-- https://mvnrepository.com/artifact/tools.jackson.dataformat/jackson-dataformat-xml -->
|
||||
<dependency>
|
||||
<groupId>tools.jackson.dataformat</groupId>
|
||||
<artifactId>jackson-dataformat-xml</artifactId>
|
||||
<version>3.0.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<release>24</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
Loading…
Reference in New Issue
Block a user