From de28fd1f21617653bd39038b0808b86f15785951 Mon Sep 17 00:00:00 2001 From: Dani Minguet Date: Sat, 22 Oct 2022 20:54:53 +0200 Subject: [PATCH] Practica 10. Leer archivo XML con DOM --- .classpath | 10 ++++ .project | 17 ++++++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 14 +++++ README.md | 26 ++++++++++ bin/xmladom/com/daniminguet/es/P10DOM.class | Bin 0 -> 2609 bytes src/xmladom/com/daniminguet/es/P10DOM.java | 54 ++++++++++++++++++++ 7 files changed, 123 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/xmladom/com/daniminguet/es/P10DOM.class create mode 100644 src/xmladom/com/daniminguet/es/P10DOM.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..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 0000000000000000000000000000000000000000..1a85d216b1b945bc225319915303159539d7bc56 GIT binary patch literal 2609 zcma)7U2_vv7=BKgbklSxwI$F(!4?G4(l!(XwSj7BK&xq5O{pRk-6n^0A=!<|23o`q z6u-Z}^-jkNF1*4STLX^cj5m(I!aIM2GvISJS!_$0a*@rReZQagdEfKbjcdOFIE-&J z_yoG<@;M`8=c8%1nLi& zmgx)$)J3|d1pFg*Mut#_1|0#^3#?C=mQ0rOGqN~o%;cm%OTtbYxhbP)s&nn5-l!92yy%K3A0OP=cVP?rRm{xT9)kLxSBq35EsiWZEbiWv1`94VW*j4U2A(vDr6*Rcg10*#hDKWdd6!%7pK-blCW{%#z^ zRM2fY?nNhIrJEIT1a{tyH@ex5`!wtz57x|G$4=}L2)LyQ?5crLLps)-u#4H~`Tgmr zVw0CotPv6PXy_K$u$o-Q9`v$=taLn+qdBR%BCv@iEVZc#=&~PsHADqkR}t$NQ0!~4 z>|)-?nHR``{Q^O+sVbiXIu7CiX2hs9r==tFlSVdaQt;t;C|a@8SYrIDxM!>n>8k!w^5Vwglv{&6iYi*{#5 zc6t?*20KF-Lbwre9Mf=g1+rdlIv&Mi#DO&?q?L7M-9a5yrjP4*0trsAQ7A|&BhV2U zt#YqA;njhvpqo_b{VtSKu&Ka>Shl3FW3Dp#roI{6v<^ED0 z&av!_ECeyfo~Mi)m#q8!0`V?Yk0D&dD;i$*n&Z}YbS^Cmj%iyuUUj#&+nkhRq|Z(k z4Yim2Mls6;-MY%krSH>bdX@xbMz<)g7B6>oLuRJ7?l@9+zuAaHrbaz=E3CPe7^yB} zv#A@G5y#sm6bCFdt1A_}IZ?L?xmOSnqkOf*-d>^yn$|{r zIk*h6&c$@hD7g2YhD)SC$}ShvQsG4kS8v;XRWQ21s(4ESKEClfnoU|vevFu@GO!14nMSOzoUOJ=$XHu%!4g66=ZyLFk5xtNzYcL`3h_w>Re|Pur0SK zma2;7H5JcS73c4$c)4DL>uUvle{<*xf(nh7t`e}2XcJpFFm+G>C(+7h8{fAO&<>uq zVl%d37dth89T?+V3cI+{5Nl^2Hu=)*e5!87j@!*+o;pZv*^NW zxJ2I}u?er^4MuJfAza3r?0l;T;4Qq(95&+y-od+U-~j%?dw8Fmn82U-03WjXr|=`A zeat2o@GU;UrwB5VAD`iKdijFh2N1Z)1T_s`YG~HbreV8=h=w?c^Dln(-DFw5suV)Q NML!eyiiSRX{T~c`q%!~j literal 0 HcmV?d00001 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(); + } + } +}