From 79a6cb9618d3a1a5e0991e16d15eadc20d21ebc4 Mon Sep 17 00:00:00 2001 From: Cristobal Date: Tue, 25 Oct 2022 19:15:26 +0200 Subject: [PATCH] Commit --- .classpath | 10 ++++ .project | 17 ++++++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 14 +++++ README.md | 33 +++++++++++ .../Actividad10/Actividad10.class | Bin 0 -> 910 bytes .../Actividad10/ParserEmpleado.class | Bin 0 -> 2919 bytes .../Actividad10/package-info.class | Bin 0 -> 137 bytes bin/module-info.class | Bin 0 -> 170 bytes empleados.xml | 23 ++++++++ .../Actividad10/Actividad10.java | 18 ++++++ .../Actividad10/ParserEmpleado.java | 55 ++++++++++++++++++ .../Actividad10/package-info.java | 1 + src/module-info.java | 10 ++++ 14 files changed, 183 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 README.md create mode 100644 bin/com/cristobalbernal/Actividad10/Actividad10.class create mode 100644 bin/com/cristobalbernal/Actividad10/ParserEmpleado.class create mode 100644 bin/com/cristobalbernal/Actividad10/package-info.class create mode 100644 bin/module-info.class create mode 100644 empleados.xml create mode 100644 src/com/cristobalbernal/Actividad10/Actividad10.java create mode 100644 src/com/cristobalbernal/Actividad10/ParserEmpleado.java create mode 100644 src/com/cristobalbernal/Actividad10/package-info.java create mode 100644 src/module-info.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..e761406 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Actividad10 + + + + + + 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..8c9943d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +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=17 diff --git a/README.md b/README.md new file mode 100644 index 0000000..d44fe4a --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +Este ejercico lo que hace es leer un xml y sacar toda la imformacion de el mismo y mostrar por terminal. + +Lo primero que he hecho es hacer un parse parecido al que usamos con German y mostraremos directamente los datos en el parse. Lo que yo he hecho es que pases por el parse el archivo donde este, creando un constructor y pasandolo un archivo File por parametros. + +Y en el main ya creamos un ParserEmpleado parserEmpleado = new ParserEmpleado(new File("empleados.xml")); + +Resultado: + +``` +IdEmpleado: 1 +NombreEmpleado: Angel +PrimerApellido: Martinez +SegundoApellido: Perello +DepartamentoEmpleado: 5 +SalarioEmplado: 1000.33 + + +IdEmpleado: 2 +NombreEmpleado: Joan +PrimerApellido: Moncho +SegundoApellido: Bernal +DepartamentoEmpleado: 6 +SalarioEmplado: 2500.34 + + +IdEmpleado: 3 +NombreEmpleado: Daniel +PrimerApellido: Kuperus +SegundoApellido: Cozar +DepartamentoEmpleado: 7 +SalarioEmplado: 3000 + +``` \ No newline at end of file diff --git a/bin/com/cristobalbernal/Actividad10/Actividad10.class b/bin/com/cristobalbernal/Actividad10/Actividad10.class new file mode 100644 index 0000000000000000000000000000000000000000..00c51b89feebf8e53ff93310dc25e919503b8489 GIT binary patch literal 910 zcmb7C-EI<55dLO?F5N;)!Gg9TU~7favh})ZVoZCrttK>>>eXR6!BdxAvMfy>#CPzz zHzl!&58y+oa~7f)n>60coca4^<~#HK$JcKFUcfeC5Snfpun@AFJ=i)-xp78tjo9?-EBf`RS<*Vo=AyIF12+7w$Pg+P|F@qEq2rG{A z<;i%!=%=FVNkZNUT;X*@sI)zECZmsPMA&owW26IaHxSAv6zd-GHTM>?AcsLk(QuG271wtkUQ-OV?JekHCAuDI`QR{NxS;(WL7rakctKZhzLJsRX zV}r0d%b4NuU>3@#n0Q1e&v!ZrqN8B!_YN;zIgC``XHbnf9P&a@I}+}v(@?m~Zw`+$ z*u)kgHPqwB^uK35MA&B<3%AfgSdLSFZ%Wv|lkLB`VZw=9Ri+Ei*7;{>&dSEK9*bf8 zyC${?Ry!DnuGEC`9nBqCOEZ8Pcm+O9z~C2O4oj0Qn>Ddc?M#rqio+I59oBM*WoDYd zI?L7~ma)PfUHqAWG-!>S8|2PzkUz`co1i$s1Lq6U$Gg{f*t|yV-4z!YD4@vyl7Mco z&fq|ry%zhIP-5^62Cg#ox@mO^j3?M;%RmKBQD>AAl4xLuJx%r(VEklI!^E!1g=C_f Ky}j z?7=q@0sfUDPIvkM$ zbW9-JKdtFm*RZXegj#`hB^w@M*mei(yp>+S2!!_8X+4Y}>J&(*7YMdS$0RHlSXF+q z%!4o*u)+h&HK3CUs!%OZpD-+aIGavHcE&Hw0c2I$EGu8%-?r%vHiA|&*+xhmp9C` z?hL4!YdbRvZp9{nT1!7QXyshh(rBx_HR@k;GX}c7OE)Xnf~}05X0EwMVDrsbqnRkS zNoW(;xTNn2Zb7@i_C+3))u}t0u$_t6shwIZO=gzd>8?cwc1VZ`G~H-lK__l!1QWVj zI?`|IUcyKTMo@mHxX~?Rmw>DnnO%!6+$rG>ffY9ZE4T}B-c9?(q&hLIW|;A| zVkmw~knx5!aZMb<Egnewp za!+ax<2zPKR*-39pxiJQoX;t_Xds1_$wggpmrZ7@f&6Dg}oyO2XTD zmS#~bMwqmcSV(xV)W~IKi_Dkt5Zh`nT~efYB#a~yGL8rYjI>wAM-&{zF`}4;UYF%a ze}_Jg&g; zuC8PJNqySgXIm~iK?XD4K;s$R>CNh+>&J@pw=NV(Juqxw>fCzhy@{)p= z@rpnV14-!CggfagL zUXV9pkajG#yFb0k#M8qOBk3h26oeF8t}V;Hy+0ttff)G0kV$2G#xm{6Jh$04)*+n^+WBmxNUfQ z+Ye}(MQc3N5}L<$fp}F*RpZWi><%Da9qf`WibzX!vow!xF32tNJbIbJ^H_EX2gVx* z=Wze8E%I;Zir0LP;Y&!4H;&EWa7#_&_&gpCU>1+gLYu`zY1b_5TK)||-|RfH;(B1N z0L(85JXHYBED3y~0DNjm;4=l_bN>Zwe1Sookwml9Qaz6s1uk6qGt_etvX|Fa*M7^K z2iQAD*?vJ*2RP=}X%*|Vh6GrPT2`i+wOP-Ze2!N9 zPQ+jQVpxrBqL&{8gNTU39PmfbDUNZNr?AVno~2dRx5$D3*WbXK^rTuO@fP0Z-L>K% z-od-{saf>nJ-km&tQS4_03VW=QPGKy@G<>s7wz~2pOT_+QIF5)g-nnB#uvoZ@Xip< z<4fARz{qx^>MGrrB?uv5gM_Gr4hdZndIWIUTj~1;m#>nn0S^PB&U%dhiiZRE`d@M} B`n~`F literal 0 HcmV?d00001 diff --git a/bin/com/cristobalbernal/Actividad10/package-info.class b/bin/com/cristobalbernal/Actividad10/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..c89b84bcc17b1d902ce21130ecd906850ca5be26 GIT binary patch literal 137 zcmX^0Z`VEs1_oOOc6J6PMh2ba{9OIyqRirw{G`O3q|~Ck#2kIc4v-qXirgGw25v?MPB1Siu{gDXfq@Zd hBLpxpFasG(3@i++Kw5@@4J^#WzyYSY8o(5U003qfAlCo@ literal 0 HcmV?d00001 diff --git a/empleados.xml b/empleados.xml new file mode 100644 index 0000000..98ad012 --- /dev/null +++ b/empleados.xml @@ -0,0 +1,23 @@ + + + Angel + Martinez + Perello + 5 + 1000.33 + + + Joan + Moncho + Bernal + 6 + 2500.34 + + + Daniel + Kuperus + Cozar + 7 + 3000 + + \ No newline at end of file diff --git a/src/com/cristobalbernal/Actividad10/Actividad10.java b/src/com/cristobalbernal/Actividad10/Actividad10.java new file mode 100644 index 0000000..01dad22 --- /dev/null +++ b/src/com/cristobalbernal/Actividad10/Actividad10.java @@ -0,0 +1,18 @@ +package com.cristobalbernal.Actividad10; + +import java.io.File; +import java.io.FileNotFoundException; + +public class Actividad10 { + public static void main(String[] args) { + ParserEmpleado parserEmpleado = null; + try { + parserEmpleado = new ParserEmpleado(new File("empleados.xml")); + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + parserEmpleado.parse(); + } + +} diff --git a/src/com/cristobalbernal/Actividad10/ParserEmpleado.java b/src/com/cristobalbernal/Actividad10/ParserEmpleado.java new file mode 100644 index 0000000..35fd5dc --- /dev/null +++ b/src/com/cristobalbernal/Actividad10/ParserEmpleado.java @@ -0,0 +1,55 @@ +package com.cristobalbernal.Actividad10; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; + +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; + +public class ParserEmpleado { + private InputStream archivo; + + public ParserEmpleado(File localizacion) throws FileNotFoundException { + archivo = new FileInputStream(localizacion); + } + public boolean parse() { + boolean parsed = false; + + try { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = builder.parse(archivo); + Element root = dom.getDocumentElement(); + NodeList items = root.getElementsByTagName("empleado"); + + for(int i = 0; i < items.getLength(); i++) { + Node node = items.item(i); + if(node.getNodeType() != Node.ELEMENT_NODE) { + throw new RuntimeException("Error in XML document, check xml syntax"); + } + Element element = (Element) node; + System.out.println("IdEmpleado: " + element.getAttribute("id")); + System.out.println("NombreEmpleado: " + element.getElementsByTagName("nombre").item(0).getTextContent()); + System.out.println("PrimerApellido: " + element.getElementsByTagName("primerApellido").item(0).getTextContent()); + System.out.println("SegundoApellido: " + element.getElementsByTagName("segundoApellido").item(0).getTextContent()); + System.out.println("DepartamentoEmpleado: " + element.getElementsByTagName("departamento").item(0).getTextContent()); + System.out.println("SalarioEmplado: " + element.getElementsByTagName("salario").item(0).getTextContent()); + System.out.println("\n"); + + } + parsed = true; + + } catch (Exception e) { + e.printStackTrace(); + } + return parsed; + } + +} diff --git a/src/com/cristobalbernal/Actividad10/package-info.java b/src/com/cristobalbernal/Actividad10/package-info.java new file mode 100644 index 0000000..24c1c72 --- /dev/null +++ b/src/com/cristobalbernal/Actividad10/package-info.java @@ -0,0 +1 @@ +package com.cristobalbernal.Actividad10; \ No newline at end of file diff --git a/src/module-info.java b/src/module-info.java new file mode 100644 index 0000000..e3239b1 --- /dev/null +++ b/src/module-info.java @@ -0,0 +1,10 @@ +/** + * + */ +/** + * @author crist + * + */ +module Actividad10 { + requires java.xml; +} \ No newline at end of file