From 6b851724de06d28c6294f1b21ce4951472841eec Mon Sep 17 00:00:00 2001 From: vigliom Date: Fri, 28 Oct 2022 20:59:49 +0200 Subject: [PATCH] No consigo que termine de funcionar --- README.md | 46 ++++++++++++++++++++++++++++- bin/com/jorpelu/EscribirXML.class | Bin 0 -> 3027 bytes bin/com/jorpelu/LeerFichero.class | Bin 0 -> 1564 bytes bin/com/jorpelu/ParserXml.class | Bin 0 -> 1322 bytes bin/com/jorpelu/Persona.class | Bin 270 -> 894 bytes bin/com/jorpelu/Personas.class | Bin 0 -> 1033 bytes bin/module-info.class | Bin 151 -> 171 bytes persona2.dat | Bin 0 -> 199 bytes personas.xml | 1 + src/com/jorpelu/EscribirXML.java | 47 ++++++++++++++++++++++++++++++ src/com/jorpelu/LeerFichero.java | 34 +++++++++++++++++++++ src/com/jorpelu/ParserXml.java | 28 ++++++++++++++++++ src/com/jorpelu/Persona.java | 24 ++++++++++++++- src/com/jorpelu/Personas.java | 23 +++++++++++++++ src/module-info.java | 1 + 15 files changed, 202 insertions(+), 2 deletions(-) create mode 100644 bin/com/jorpelu/EscribirXML.class create mode 100644 bin/com/jorpelu/LeerFichero.class create mode 100644 bin/com/jorpelu/ParserXml.class create mode 100644 bin/com/jorpelu/Personas.class create mode 100644 persona2.dat create mode 100644 personas.xml create mode 100644 src/com/jorpelu/EscribirXML.java create mode 100644 src/com/jorpelu/LeerFichero.java create mode 100644 src/com/jorpelu/ParserXml.java create mode 100644 src/com/jorpelu/Personas.java diff --git a/README.md b/README.md index 1b5b047..bdd13f8 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,53 @@ # Ejercicio_11 ### Introduccion -Escribe en un fichero ".xml" utilizando DOM +Escribe en un fichero ".xml" utilizando DOM y lee el fichero de objetos **Persona.dat** ### Documentacion +##### LeerFichero +~~~ +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.lang.reflect.Array; +import java.util.ArrayList; +~~~ + +##### Personas +~~~ +import java.io.Serializable; +import java.util.ArrayList; +~~~ +##### Persona +~~~ +import java.io.Serializable; +~~~ +##### ParserXml +~~~ +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +~~~ + +##### EscribirXml +~~~ +import java.io.File; +import java.util.ArrayList; + +import javax.xml.parsers.*; +import javax.xml.transform.*; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +~~~ + + + ### Salida por pantalla ### Documentos generados +personas.xml diff --git a/bin/com/jorpelu/EscribirXML.class b/bin/com/jorpelu/EscribirXML.class new file mode 100644 index 0000000000000000000000000000000000000000..975d5290e103209494ab069efa30f4ff60a99dc7 GIT binary patch literal 3027 zcma)8TW}Lq82(P0W|MTwC8a=+OSzTwx*&?u01BmOHN8k{X%)n6vMpPZY~0;Iiwa)w ze!rvQ1)Y&+d1$H3Fg`hhZ$9~ekIcxUFZ$w)_-!@`2?WYRvb*Q}xAXnq|NrOL|9-j% zU^~8-;1O67H&V)kVP>>sR_U_hrar2h!#yzxUV#M@>Je2*s_Aj1Z*)S7+XB9AdRn)4 z2rP}na=TeuPbxc2Q=N+GmK|*x5(o_F<7w5-nwo%8QEXeR)NQ|JT1Hxp?#O9-JB@@E zL=|deR6`c1iZl%cF%JtQ%om6_UMH2wR8q;PrbSg{w-L{#w6wh|t0xnhxkruLhB+l; zAwmK*Y3*ot+OpMjoZ+-ansQ;^iGir&bdijDEEWjS%ng17*58RWnpuiv62bzj=Zsy( zU0Ci0UGU~W-4rv-apmadxRPMH3Oi9hRtoqtE__xE8n8yfYJo+Sq-CtdI)U1_sj0Ts zmDC)_1e)>*%4K=LHudy)wA@`@H0s!Il(7L32B>B-S~}5rh=>a`M#|#rWdd)okz4Yk zSwPB%TZ2|KN@x?PD~&eq%nyZJOB<&G|-##NBr`6b*C(>U2ZdqbD^#M!8a`sdo06APyqoxMZH`^5#6VI~~BdBXLMzVO}C{ zjx8;S2_z*P7Fbm&suHARq>v^Ri)R;zy5`(|Ra{qGFrp>B?E0R2GCB?*15?5?FE|xg$1;c+aWzTCCVDi>QpagxeoRkm zz1h^LW)7;ONv?!)LPM&lJKy<5uYE|j7;o8NDVb-qUreeqsEVh)VSW*l#3(DPxdhtV z&ly_wB*>Yyb8AqvDq+M07MBsX*v|#3wY{o-%n7bSQ>41k`RiuW*YZP?7;A;LRjs*Q zBvj-=v7k9OOTsJeS15ftsVVMjCTnsoMQZr0Tyd6zP_*I>twIGm;%2V+ID9JFu284W z(VgMA1&f++?n%pfZTpgBX(ZVe*w!4e|us`f=srOA|uVossGuKX>M_-38Odo?C(gh5UguOF(qQidy z2SzU7;7CZFL3{>d9f2@Ch6B^k&thTEIT)erG>-C|&+Yq>n0Rpof3o6mnrcDzU2Q^`a6xU==WN6E#Ei7dyN1{5`=_J66Q%*DxpC_ aD<%KMv1`1td)!S&;`v(YouQrw-~A6#jzqoy literal 0 HcmV?d00001 diff --git a/bin/com/jorpelu/LeerFichero.class b/bin/com/jorpelu/LeerFichero.class new file mode 100644 index 0000000000000000000000000000000000000000..2a4ac31c50e341ac921a093caffd8e8bf07260e6 GIT binary patch literal 1564 zcmZ`(ZByJ-6n^d!xR8eOQr@;LcJY;^l-0J1uoR_~RqFDhOR4znlD&msNOqEJM}CoC z)lry{8OP857yp1CtWUC=ZB}tInR|2ZInO!IbI!>hfB*U$fJgXRA}26u`=_N7KWJ#T zS*mIsR2=(Q2fl-jJQXzqEiiwT%}O;JbhiaqUZrc_isL!as=&x>%hB;m701=(;=X{n@tv(3k>h)z z#Gt^9Bs?uPcRDu`Ljr}@X|KB~47dHL;y1l|$4bCh_v_k34@NBv;D$iYY;j*=JVos$ zWnv7Y0}z<9(2G8an-ngM9_P2|HJVW^3bZ;kk;m;A)RcHbAfKAG1ne@LMjB~zugOz&EikvQwwYHU9au>A-i>`>Ues)d3vaWJ$2~vWVGtr%H3Ci6Mwf4 zjp*13S=z2P&QN0`8!tFU0@u5{m<|4d-Qti+zUwAibQ;xFq&8~;w>n1u=^n<&HCT`F zt|Zb~5)e#&qT`;`gPwzl3|p#^5R&*xz)Gcy+gae+k&fD6WICBPTlZKHY2oUd|DSNP z<~IXdx1tPZL`(VsGaRxW{+`G#o;0qKUpe&i<(~y6*K0iK<7(kLhPnTX9=%+@n7hEp z+$F{iE->*6CNGgcxO;(HTbGzVn7_cC?R)2V^LM;;EopZ_M%sZgL5OSWMtfl9kmmXlEs`pIANr2Rs&j A6951J literal 0 HcmV?d00001 diff --git a/bin/com/jorpelu/ParserXml.class b/bin/com/jorpelu/ParserXml.class new file mode 100644 index 0000000000000000000000000000000000000000..15b0988722a8bbcef606fd5c513601b82c90dc9c GIT binary patch literal 1322 zcmZuxYg5xe6g^vmp|OG%K>;85!t#s?z9^!|!&i#T;4m_NTEYs8Y17%Hj{G7&>jyd` zGyVX7h(AL;No%DHU$WWUv-h04=idDM{rv}k$0*sz2=w}4+1(9IRRuM7Rhmedcjdr_ zC2(d}ev)n=E8Fgy&0Xck0w-s6MaOdjCki9$0@gyfr5v0yOK4a{{>(r9*dF2dWc&0$r1CRhcNP$h(tUGIr2|3rQ*c zyqLmq)HVhMdeS_#SO@OBF>=q-5swZaYvVGjI$V^elv&pPjxwQxOBhO$UllmpOy1PO znv&@C9B$yIz^QE&uQp^Qw^SHuC}}4w+PHOuY$@`M-qhw@$#XD_k%Vki;6jt^$oY}= zEXFZuW1`LKwY?}-g9Iq{kumHW_e!BcuG6zFejy+bY$+SzOgGBqnda&rP1b*B|%p@+2dd|!LZ z?^XY`{rGV{&bBFO+FqPvp3`aRC0R|U#srOoZH(1%r8K^eYupWQOw>`BvA!TbV|~L|{?0z8`mKFD{K|BBjADWf zU?Gt)Ogd16L+U&!2T3=SV$M-{FZ-sC?J$taoNfr<&ufln98BQ}o-*Sg@$+~_$$5-n v0gIICGT#!G$?}}oq`*e(1!FJyNw$s1hwh{aKDfB~Xgu#W>-iF<7?^(?mzJ7Xq%D%Bg_3 zX5podbb2Mw>26nE_eLy!6;D+K1=M`(qb^YB_C{q;+J}cdb87i0qasin=t$kH7GssX z&o~-`cp}4*BpbQ%M>qYbmjdm}*nSII=Z(Pm(NKI-RYTsUW_0>4E#{4gc|Ajf3nUgG;ce69z)ec*e6d#(Qi z)&8?P9QIG|(EMf_+FToOx$bc-TY)N@JA66I+VB7md82@}5%y$^9BWh0Z7%H{s8}08 zo3%sLD*1FcphMNF8$4F$>HBxp?1vg44YDiq(#( zwn^6r1{Y{@UM;K8$*S(dmGW=`kMKCx+5~BSVf!XXXD7%LoNa-e{4?zgff$?3=9mm3<49m^c5Hx*laTMGE3|j8JIOR!x$M@obyvsxfqxkIC&UY z8Q3PC^q5@9sOSUK!N3TFKp`N>4&>>B`3wxKTH6^oHUb5h7`T8WNSXntof}B2N76g}fCZd_++LesKS);LAAcuuKQka)5HDJTWrCdnvF0}tTXChhM0EWGu zqwSL6NWZhGNd{{erqM*akl9VCuPlzTiQ$08Q=+FrkC9D@-Zi?P1}v26o90Vvohr{1 z4rui+(CGg}>)i#~-_ZG@(7UuY2mxZ3iQ6P*m;N#~aj=JddS`l9NjrDArgY!Zzd?JJ z(mgB`OIRz~q*y0TLn(H1bfHMRBK7r4x2$537sCzQq%}{!a`}qR;dk6RTj#cv;tn~q tH#pqIJ*9Ua4+xv5f2ed_RR=14()~;k3>CaeWzg692r8FH@JOM0e*s9f*zN!T literal 0 HcmV?d00001 diff --git a/bin/module-info.class b/bin/module-info.class index f4e845ce75ab8237ba4a6737d031cd816a6796fd..4e23e3c5d904ecb424b3626ce2a60e4fc2b6ab95 100644 GIT binary patch delta 64 zcmbQvxSEmc)W2Q(7#J9A8F(gg1@drYC6*=XRpjOfGjLCgRF{=uU;|1rFfcK2fN8D< HFa;q10168G delta 45 scmZ3@IGvH})W2Q(7#J9A8Mr2L1y0OV6&GV*1M(Rd7#TPkzzhfh00X24od5s; diff --git a/persona2.dat b/persona2.dat new file mode 100644 index 0000000000000000000000000000000000000000..97f67c841d9551a4e28aae2abea29ab4fd2d1bce GIT binary patch literal 199 zcmZ4UmVvdnh(S0ju`E%qv?Mb}&#|Z|vC=2AxTK=-lI+amiF2757(E$SiZiQHD+(AG z7+A_#KqOdGeo;YcPN`mUey(0XYEf~1USjy1%xm>VRf0?mOh8SkDTygQ3~YJ%xk*K- zB@9A7AZzq<67$magG-7s^U|%sMv9g&uy~aw<`ow*)G;stO&2R+U=2u3Dawb7h?g+1 X0j \ No newline at end of file diff --git a/src/com/jorpelu/EscribirXML.java b/src/com/jorpelu/EscribirXML.java new file mode 100644 index 0000000..ae0aba3 --- /dev/null +++ b/src/com/jorpelu/EscribirXML.java @@ -0,0 +1,47 @@ +package com.jorpelu; + +import java.io.File; +import java.util.ArrayList; + +import javax.xml.parsers.*; +import javax.xml.transform.*; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +public class EscribirXML { + public EscribirXML(ArrayList personasList) { + try { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db = dbf.newDocumentBuilder(); + Document doc = db.newDocument(); + + Element eRaiz = doc.createElement("personas"); + doc.appendChild(eRaiz); + for(int i = 0; i personas; + + public LeerFichero(File fich) throws IOException, ClassNotFoundException { + //FileInputStream filein = new FileInputStream("C:\\Users\\jorge\\OneDrive\\Documentos\\ProyectosSPRING\\Ejercicio_11\\persona2.dat"); + personas = new ArrayList<>(); + FileInputStream filein = new FileInputStream(fich); + ObjectInputStream dataIS = new ObjectInputStream(filein); + + try { + while(true){ + Persona p1 = (Persona) dataIS.readObject(); + personas.add(p1); + } + } catch (EOFException e) { + System.out.println("Error leyendo el archivo en LeerFichero.java"); + e.printStackTrace(); + } + dataIS.close(); + } + public ArrayList getPersonas(){ + return personas; + } + +} diff --git a/src/com/jorpelu/ParserXml.java b/src/com/jorpelu/ParserXml.java new file mode 100644 index 0000000..69cb899 --- /dev/null +++ b/src/com/jorpelu/ParserXml.java @@ -0,0 +1,28 @@ +package com.jorpelu; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +public class ParserXml { + + public static void main(String[] args) throws ClassNotFoundException { + + File archivoDat = new File("./persona2.dat"); + LeerFichero ficheroLeido; + ArrayList personas = new ArrayList<>(); + + try { + ficheroLeido = new LeerFichero(archivoDat); + personas = ficheroLeido.getPersonas(); + EscribirXML escribirXML = new EscribirXML(personas); + + } catch (IOException e1) { + System.out.println("ErrorMain"); + e1.printStackTrace(); + } + + + } + +} diff --git a/src/com/jorpelu/Persona.java b/src/com/jorpelu/Persona.java index b105351..34d137b 100644 --- a/src/com/jorpelu/Persona.java +++ b/src/com/jorpelu/Persona.java @@ -1,5 +1,27 @@ package com.jorpelu; -public class Persona { +import java.io.Serializable; +public class Persona implements Serializable{ + private String nombre; + private int edad; + public Persona(String nombre, int edad) { + this.nombre = nombre; + this.edad= edad; + } + public Persona() { + this.nombre=null; + } + public String getNombre() { + return nombre; + } + public void setNombre(String nombre) { + this.nombre = nombre; + } + public int getEdad() { + return edad; + } + public void setEdad(int edad) { + this.edad = edad; + } } diff --git a/src/com/jorpelu/Personas.java b/src/com/jorpelu/Personas.java new file mode 100644 index 0000000..6ddb2fd --- /dev/null +++ b/src/com/jorpelu/Personas.java @@ -0,0 +1,23 @@ +package com.jorpelu; + +import java.io.Serializable; +import java.util.ArrayList; + +public class Personas implements Serializable{ + private ArrayList personas; + + public Personas() { + personas = new ArrayList<>(); + } + public Personas(ArrayList personas) { + this.personas = personas; + } + + public void AnyadirPersona(Persona p1) { + this.personas.add(p1); + } + + public ArrayList getPersonas(){ + return personas; + } +} diff --git a/src/module-info.java b/src/module-info.java index 3f16fe3..8902d0f 100644 --- a/src/module-info.java +++ b/src/module-info.java @@ -6,4 +6,5 @@ * */ module Ejercicio_11 { + requires java.xml; } \ No newline at end of file