Skip to content

Commit ef51c55

Browse files
JoseJose
Jose
authored and
Jose
committed
#12 - javaScript
1 parent 9062a55 commit ef51c55

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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+
21+
const fs = require("fs/promises");
22+
23+
async function main() {
24+
const data = {
25+
nombre: "Juan",
26+
edad: 30,
27+
fechaNacimiento: "1994-05-15",
28+
lenguajes: ["JavaScript", "Python", "Java"],
29+
};
30+
31+
try {
32+
// Crear JSON
33+
const jsonData = JSON.stringify(data, null, 2);
34+
await fs.writeFile("datos.json", jsonData);
35+
36+
// Crear XML
37+
const xmlData = `
38+
<persona>
39+
<nombre>${data.nombre}</nombre>
40+
<edad>${data.edad}</edad>
41+
<fechaNacimiento>${data.fechaNacimiento}</fechaNacimiento>
42+
<lenguajes>
43+
${data.lenguajes.map((lang) => `<lenguaje>${lang}</lenguaje>`).join("")}
44+
</lenguajes>
45+
</persona>`;
46+
await fs.writeFile("datos.xml", xmlData);
47+
48+
// Leer y mostrar contenido
49+
const readJsonData = await fs.readFile("datos.json", "utf-8");
50+
console.log("Contenido del archivo JSON:", readJsonData);
51+
52+
const readXmlData = await fs.readFile("datos.xml", "utf-8");
53+
console.log("Contenido del archivo XML:", readXmlData);
54+
55+
// Borrar archivos
56+
await fs.unlink("datos.json");
57+
await fs.unlink("datos.xml");
58+
console.log("Archivos borrados con éxito.");
59+
} catch (error) {
60+
console.error("Error:", error);
61+
}
62+
}
63+
64+
main();

0 commit comments

Comments
 (0)