commit 79a6cb9618d3a1a5e0991e16d15eadc20d21ebc4 Author: Cristobal Date: Tue Oct 25 19:15:26 2022 +0200 Commit 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 0000000..00c51b8 Binary files /dev/null and b/bin/com/cristobalbernal/Actividad10/Actividad10.class differ diff --git a/bin/com/cristobalbernal/Actividad10/ParserEmpleado.class b/bin/com/cristobalbernal/Actividad10/ParserEmpleado.class new file mode 100644 index 0000000..3329a33 Binary files /dev/null and b/bin/com/cristobalbernal/Actividad10/ParserEmpleado.class differ diff --git a/bin/com/cristobalbernal/Actividad10/package-info.class b/bin/com/cristobalbernal/Actividad10/package-info.class new file mode 100644 index 0000000..c89b84b Binary files /dev/null and b/bin/com/cristobalbernal/Actividad10/package-info.class differ diff --git a/bin/module-info.class b/bin/module-info.class new file mode 100644 index 0000000..a492196 Binary files /dev/null and b/bin/module-info.class differ 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