1
+ """
2
+ IMPORTANTE: Sólo debes subir el fichero de código como parte del ejercicio.
3
+
4
+ EJERCICIO:
5
+ Desarrolla un programa capaz de crear un archivo XML y JSON que guarde los
6
+ siguientes datos (haciendo uso de la sintaxis correcta en cada caso):
7
+ - Nombre
8
+ - Edad
9
+ - Fecha de nacimiento
10
+ - Listado de lenguajes de programación
11
+ Muestra el contenido de los archivos.
12
+ Borra los archivos.
13
+
14
+ DIFICULTAD EXTRA (opcional):
15
+ Utilizando la lógica de creación de los archivos anteriores, crea un
16
+ programa capaz de leer y transformar en una misma clase custom de tu
17
+ lenguaje los datos almacenados en el XML y el JSON.
18
+ Borra los archivos.
19
+ """
20
+ import os
21
+ import xml .etree .ElementTree as xml
22
+ import json
23
+ # XML
24
+ datos = {
25
+ "nombre" :"Jose" ,
26
+ "edad" :45 ,
27
+ "nacido" :"01/03/79" ,
28
+ "aficiones" :["videojuego" , "anime" , "programar" ]
29
+ }
30
+
31
+ def crear_xml ():
32
+ root = xml .Element ("datos" )
33
+ for key , value in datos .items ():
34
+ child = xml .SubElement (root , key )
35
+ if isinstance (value ,list ):
36
+ for item in value :
37
+ xml .SubElement (child , "item" ).text = item
38
+ else :
39
+ child .text = str (value )
40
+ tree = xml .ElementTree (root )
41
+ tree .write ("JAFeito.xml" )
42
+ crear_xml ()
43
+ with open ("JAFeito.xml" , "r" ) as archivo :
44
+ print (archivo .read ())
45
+ os .remove ("JAFeito.xml" )
46
+ #JSON
47
+ def crear_json ():
48
+ with open ("JAFeito.json" , "w" ) as archivo :
49
+ json .dump (datos , archivo )
50
+ crear_json ()
51
+ with open ("JAFeito.json" , "r" ) as archivo :
52
+ print (archivo .read ())
53
+ os .remove ("JAFeito.json" )
54
+ #EXTRA
55
+ crear_xml ()
56
+ crear_json ()
57
+
58
+ class Datos :
59
+ def __init__ (self , nombre , edad , fecha_nacimiento , aficiones ) -> None :
60
+ self .nombre = nombre
61
+ self .edad = edad
62
+ self .fecha_nacimiento = fecha_nacimiento
63
+ self .aficiones = aficiones
64
+
65
+ #XML
66
+
67
+ with open ("JAFeito.xml" , "r" ) as archivo :
68
+ root = xml .fromstring (archivo .read ())
69
+ nombre = root .find ("nombre" ).text
70
+ edad = root .find ("edad" ).text
71
+ fecha_nacimiento = root .find ("nacido" ).text
72
+ aficiones = []
73
+ for item in root .find ("aficiones" ):
74
+ aficiones .append (item .text )
75
+
76
+ datos_xml = Datos ( nombre , edad , fecha_nacimiento , aficiones )
77
+ print (datos_xml .__dict__ )
78
+ #JSON
79
+ with open ("JAFeito.json" , "r" ) as archivo :
80
+ dic_json = json .load (archivo )
81
+ nombre = dic_json ["nombre" ]
82
+ edad = dic_json ["edad" ]
83
+ fecha_nacimiento = dic_json ["nacido" ]
84
+ aciciones = dic_json ["aficiones" ]
85
+ datos_json = Datos (nombre , edad , fecha_nacimiento , aficiones )
86
+ print (datos_json .__dict__ )
87
+ os .remove ("JAFeito.xml" )
88
+ os .remove ("JAFeito.json" )
0 commit comments