Skip to content

Commit f785da8

Browse files
#12 - javascript
1 parent 4c79630 commit f785da8

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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');
22+
23+
const data = {
24+
nombre: 'Caterina Rodríguez',
25+
edad: 25,
26+
fechaNacimiento: '12-08-1999',
27+
lenguajes: ['JavaScript', 'Python', 'Java']
28+
};
29+
30+
const crearJSON = (data) => {
31+
const jsonContent = JSON.stringify(data);
32+
console.log(jsonContent);
33+
fs.writeFileSync("miJson.json", jsonContent);
34+
}
35+
36+
const crearXML = (data) => {
37+
let xmlContent = '<?xml version="1.0" encoding="UTF-8"?>\n';
38+
xmlContent += '<persona>\n';
39+
xmlContent += '\t<nombre>' + data.nombre + '</nombre>\n';
40+
xmlContent += '\t<edad>' + data.edad + '</edad>\n';
41+
xmlContent += '\t<fechaNacimiento>' + data.fechaNacimiento + '</nacimiento>\n';
42+
xmlContent += '\t<lenguajes>\n';
43+
data.lenguajes.forEach(lenguaje => {
44+
xmlContent += `\t\t<lenguaje>${lenguaje}</lenguaje>\n`;
45+
});
46+
xmlContent += '\t</lenguajes>\n';
47+
xmlContent += '</persona>';
48+
console.log(xmlContent);
49+
fs.writeFileSync('miXML.xml', xmlContent);
50+
}
51+
52+
crearJSON(data);
53+
crearXML(data);

0 commit comments

Comments
 (0)