@ -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/jre"> | |||||
<attributes> | |||||
<attribute name="module" value="true"/> | |||||
</attributes> | |||||
</classpathentry> | |||||
<classpathentry kind="src" path="src"/> | |||||
<classpathentry kind="output" path="out/production/Ejercicio_10"/> | |||||
</classpath> |
@ -0,0 +1,8 @@ | |||||
# Default ignored files | |||||
/shelf/ | |||||
/workspace.xml | |||||
# Editor-based HTTP Client requests | |||||
/httpRequests/ | |||||
# Datasource local storage ignored files | |||||
/dataSources/ | |||||
/dataSources.local.xml |
@ -0,0 +1,6 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<project version="4"> | |||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="corretto-18" project-jdk-type="JavaSDK"> | |||||
<output url="file://$PROJECT_DIR$/out" /> | |||||
</component> | |||||
</project> |
@ -0,0 +1,8 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<project version="4"> | |||||
<component name="ProjectModuleManager"> | |||||
<modules> | |||||
<module fileurl="file://$PROJECT_DIR$/Ejercicio_10.iml" filepath="$PROJECT_DIR$/Ejercicio_10.iml" /> | |||||
</modules> | |||||
</component> | |||||
</project> |
@ -0,0 +1,17 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<projectDescription> | |||||
<name>Ejercicio_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> |
@ -0,0 +1,11 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<module type="JAVA_MODULE" version="4"> | |||||
<component name="NewModuleRootManager" inherit-compiler-output="true"> | |||||
<exclude-output /> | |||||
<content url="file://$MODULE_DIR$"> | |||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> | |||||
</content> | |||||
<orderEntry type="inheritedJdk" /> | |||||
<orderEntry type="sourceFolder" forTests="false" /> | |||||
</component> | |||||
</module> |
@ -0,0 +1,11 @@ | |||||
<h2>Parsear el xml a nuestro objeto persona e imprimirlo por pantalla</h2> | |||||
<p>Utilizamos 2 clases para el ejercicio una clase para pasearlo utilizando la direccion del fichero que nos provee desde el main</p> | |||||
<p>Terminamos el ejercicio comprobando que el parseo se ha completado correctamente</p> | |||||
```java | |||||
[Empleado{identificador=1, apellido='Martinez', departamento='10', salario=1000.33} | |||||
, Empleado{identificador=2, apellido='Garcia', departamento='11', salario=2000.34} | |||||
, Empleado{identificador=3, apellido='Navarro', departamento='10', salario=2222.33} | |||||
] | |||||
``` |
@ -0,0 +1,18 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<empleados> | |||||
<empleado id="1"> | |||||
<apellido>Martinez</apellido> | |||||
<dep>10</dep> | |||||
<salario>1000.33</salario> | |||||
</empleado> | |||||
<empleado id="2"> | |||||
<apellido>Garcia</apellido> | |||||
<dep>11</dep> | |||||
<salario>2000.34</salario> | |||||
</empleado> | |||||
<empleado id="3"> | |||||
<apellido>Navarro</apellido> | |||||
<dep>10</dep> | |||||
<salario>2222.33</salario> | |||||
</empleado> | |||||
</empleados> |
@ -0,0 +1,24 @@ | |||||
import Modelo.Empleado; | |||||
import java.io.File; | |||||
import java.io.IOException; | |||||
import java.util.List; | |||||
public class Main { | |||||
public static void main(String[] args) { | |||||
try{ | |||||
File fichero = new File("/home/michael/Documents/SpringProjects/Ejercicio_10/src/empleado.xml"); | |||||
Parser parser = new Parser(new File(fichero.toURI())); | |||||
parser.startParser(); | |||||
if (parser.startParser()){ | |||||
List<Empleado> empleados = parser.getEmpleado(); | |||||
System.out.println(empleados); | |||||
} | |||||
}catch (IOException e){ | |||||
e.printStackTrace(); | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,25 @@ | |||||
package Modelo; | |||||
public class Empleado { | |||||
private final int identificador; | |||||
private final String apellido; | |||||
private final String departamento; | |||||
private final float salario; | |||||
public Empleado(int identificador, String nombre, String departamento, float salario) { | |||||
this.identificador = identificador; | |||||
this.apellido = nombre; | |||||
this.departamento = departamento; | |||||
this.salario = salario; | |||||
} | |||||
@Override | |||||
public String toString() { | |||||
return "Empleado{" + | |||||
"identificador=" + identificador + | |||||
", apellido='" + apellido + '\'' + | |||||
", departamento='" + departamento + '\'' + | |||||
", salario=" + salario + | |||||
'}' + "\n"; | |||||
} | |||||
} |
@ -0,0 +1,55 @@ | |||||
import Modelo.Empleado; | |||||
import org.w3c.dom.Node; | |||||
import org.w3c.dom.NodeList; | |||||
import org.w3c.dom.Document; | |||||
import org.w3c.dom.Element; | |||||
import javax.xml.parsers.DocumentBuilder; | |||||
import javax.xml.parsers.DocumentBuilderFactory; | |||||
import java.io.*; | |||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
public class Parser { | |||||
private List<Empleado> empleados; | |||||
private final File empleadoFichero; | |||||
public Parser(File file) throws IOException { | |||||
empleadoFichero = file; | |||||
} | |||||
public boolean startParser(){ | |||||
boolean parseado = false; | |||||
try{ | |||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); | |||||
DocumentBuilder builder = factory.newDocumentBuilder(); | |||||
Document documento = builder.parse(empleadoFichero); | |||||
documento.getDocumentElement().normalize(); | |||||
Element root = documento.getDocumentElement(); | |||||
NodeList nList = root.getElementsByTagName("empleado"); | |||||
empleados = new ArrayList<>(); | |||||
for (int i = 0; i < nList.getLength(); i++) { | |||||
Node node = nList.item(i); | |||||
if (node.getNodeType() != Node.ELEMENT_NODE){ | |||||
throw new RuntimeException(); | |||||
} | |||||
Element element = (Element) node; | |||||
int id = Integer.parseInt(element.getAttribute("id")); | |||||
String apellido = element.getElementsByTagName("apellido").item(0).getTextContent(); | |||||
String departamento = element.getElementsByTagName("dep").item(0).getTextContent(); | |||||
float salario = Float.parseFloat(element.getElementsByTagName("salario").item(0).getTextContent()); | |||||
empleados.add( new Empleado (id,apellido,departamento,salario)); | |||||
} | |||||
parseado = true; | |||||
}catch (Exception e){ | |||||
e.printStackTrace(); | |||||
} | |||||
return parseado; | |||||
} | |||||
public List<Empleado> getEmpleado() { | |||||
return empleados; | |||||
} | |||||
} |
@ -0,0 +1,18 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<empleados> | |||||
<empleado id="1"> | |||||
<apellido>Martinez</apellido> | |||||
<dep>10</dep> | |||||
<salario>1000.33</salario> | |||||
</empleado> | |||||
<empleado id="2"> | |||||
<apellido>Garcia</apellido> | |||||
<dep>11</dep> | |||||
<salario>2000.34</salario> | |||||
</empleado> | |||||
<empleado id="3"> | |||||
<apellido>Navarro</apellido> | |||||
<dep>10</dep> | |||||
<salario>2222.33</salario> | |||||
</empleado> | |||||
</empleados> |