Skip to content

Commit 8139e3d

Browse files
committed
#12 php
1 parent c705e50 commit 8139e3d

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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

Comments
 (0)