commit de28fd1f21617653bd39038b0808b86f15785951 Author: Dani Minguet Date: Sat Oct 22 20:54:53 2022 +0200 Practica 10. Leer archivo XML con DOM 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..63baa7d --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + P10-FicherosXML-DOM + + + + + + 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..26cf0b7 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# LEE UN ARCHIVO XML EL CUAL CONTIENE UN ARRAY DE EMPLEADOS, LOS MOSTRARÁ POR PANTALLA + +Se trabaja con la ayuda de DOM para así poder obtener la lista de los empleados que se encuentran el archivo XML. + +Con la ayuda de "NodeList" podremos obtener los empleados, y con "Node" podremos verlos uno por uno junto con sus datos. + +RESULTADO: + +``` +Número de empleados: 3 + +ID del empleado: 1 +Apellido: Martinez +Departamento: 10 +Salario: 1000.33 + +ID del empleado: 2 +Apellido: Garcia +Departamento: 11 +Salario: 2000.34 + +ID del empleado: 3 +Apellido: Navarro +Departamento: 10 +Salario: 2222.33 +``` \ No newline at end of file diff --git a/bin/xmladom/com/daniminguet/es/P10DOM.class b/bin/xmladom/com/daniminguet/es/P10DOM.class new file mode 100644 index 0000000..1a85d21 Binary files /dev/null and b/bin/xmladom/com/daniminguet/es/P10DOM.class differ diff --git a/src/xmladom/com/daniminguet/es/P10DOM.java b/src/xmladom/com/daniminguet/es/P10DOM.java new file mode 100644 index 0000000..e0f6b7a --- /dev/null +++ b/src/xmladom/com/daniminguet/es/P10DOM.java @@ -0,0 +1,54 @@ +package xmladom.com.daniminguet.es; + +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; + +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.NodeList; + +public class P10DOM { + public static void main(String[] args) { + //Fichero XML donde están guardados los empleados + File fichero = new File("C:\\Users\\Dani\\OneDrive\\Documentos\\AccesoADatos\\empleados.xml"); + + try { + DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); + Document doc = dBuilder.parse(fichero); + doc.getDocumentElement().normalize(); + + //Recoge los elementos del archivo que sean "empleado" + NodeList nList = doc.getElementsByTagName("empleado"); + //Muestra la cantidad de empleados que hay en el archivo + System.out.println("Número de empleados: " + nList.getLength()); + + //Muestra todos los datos de cada empleado del archivo + for(int temp = 0; temp < nList.getLength(); temp++) { + Node node = nList.item(temp); + + if(node.getNodeType() == Node.ELEMENT_NODE) { + Element element = (Element) node; + + System.out.println("\nID del empleado: " + element.getAttribute("id")); + System.out.println("Apellido: " + element.getElementsByTagName("apellido").item(0).getTextContent()); + System.out.println("Departamento: " + element.getElementsByTagName("dep").item(0).getTextContent()); + System.out.println("Salario: " + element.getElementsByTagName("salario").item(0).getTextContent()); + } + } + } catch(Exception e) { + e.printStackTrace(); + } + } +}