1
+ <?php
2
+
3
+ // Datos de ejemplo
4
+ $ persona = [
5
+ 'nombre ' => 'Juan ' ,
6
+ 'edad ' => 30 ,
7
+ 'fechaNacimiento ' => '1993-05-15 ' ,
8
+ 'lenguajesProgramacion ' => ['PHP ' , 'JavaScript ' , 'Python ' ]
9
+ ];
10
+
11
+ // Función para crear el archivo XML
12
+ function crearArchivoXML ($ datos ) {
13
+ $ xml = new SimpleXMLElement ('<persona></persona> ' );
14
+ array_walk_recursive ($ datos , function ($ value , $ key ) use ($ xml ) {
15
+ if (is_array ($ value )) {
16
+ $ child = $ xml ->addChild ($ key );
17
+ foreach ($ value as $ subvalue ) {
18
+ $ child ->addChild ('lenguaje ' , $ subvalue );
19
+ }
20
+ } else {
21
+ $ xml ->addChild ($ key , $ value );
22
+ }
23
+ });
24
+ $ xml ->asXML ('datos.xml ' );
25
+ echo "Archivo XML creado. \n" ;
26
+ }
27
+
28
+ // Función para crear el archivo JSON
29
+ function crearArchivoJSON ($ datos ) {
30
+ file_put_contents ('datos.json ' , json_encode ($ datos , JSON_PRETTY_PRINT ));
31
+ echo "Archivo JSON creado. \n" ;
32
+ }
33
+
34
+ // Función para mostrar el contenido de un archivo
35
+ function mostrarContenidoArchivo ($ nombreArchivo ) {
36
+ echo "Contenido del archivo $ nombreArchivo: \n" ;
37
+ echo file_get_contents ($ nombreArchivo ) . "\n" ;
38
+ }
39
+
40
+ // Función para borrar un archivo
41
+ function borrarArchivo ($ nombreArchivo ) {
42
+ if (unlink ($ nombreArchivo )) {
43
+ echo "El archivo $ nombreArchivo ha sido borrado. \n" ;
44
+ } else {
45
+ echo "No se pudo borrar el archivo $ nombreArchivo. \n" ;
46
+ }
47
+ }
48
+
49
+ // Función para leer el archivo XML
50
+ function leerXML ($ nombreArchivo ) {
51
+ $ xml = simplexml_load_file ($ nombreArchivo );
52
+ $ datos = json_decode (json_encode ($ xml ), true );
53
+ return $ datos ;
54
+ }
55
+
56
+ // Función para leer el archivo JSON
57
+ function leerJSON ($ nombreArchivo ) {
58
+ $ jsonData = file_get_contents ($ nombreArchivo );
59
+ return json_decode ($ jsonData , true );
60
+ }
61
+
62
+ // Función principal
63
+ function main () {
64
+ global $ persona ;
65
+
66
+ // Crear y mostrar archivo XML
67
+ crearArchivoXML ($ persona );
68
+ mostrarContenidoArchivo ('datos.xml ' );
69
+
70
+ // Crear y mostrar archivo JSON
71
+ crearArchivoJSON ($ persona );
72
+ mostrarContenidoArchivo ('datos.json ' );
73
+
74
+ // Borrar archivos
75
+ borrarArchivo ('datos.xml ' );
76
+ borrarArchivo ('datos.json ' );
77
+
78
+ // DIFICULTAD EXTRA
79
+ // Crear archivos nuevamente para la lectura
80
+ crearArchivoXML ($ persona );
81
+ crearArchivoJSON ($ persona );
82
+
83
+ // Leer y transformar datos
84
+ $ personaXML = leerXML ('datos.xml ' );
85
+ $ personaJSON = leerJSON ('datos.json ' );
86
+
87
+ echo "\nDatos leídos del XML: \n" ;
88
+ print_r ($ personaXML );
89
+ echo "\nDatos leídos del JSON: \n" ;
90
+ print_r ($ personaJSON );
91
+
92
+ // Borrar archivos nuevamente
93
+ borrarArchivo ('datos.xml ' );
94
+ borrarArchivo ('datos.json ' );
95
+ }
96
+
97
+ // Ejecutar la función principal
98
+ main ();
99
+
100
+ ?>
0 commit comments