Obteniendo XML
console.log("Script de captura de XML cargado");
class Capitulo{
constructor(t, ap, au){
this.titulo = t;
this.apartado = ap;
this.autor = au;
}
toString(){return `Tit: ${this.titulo}, apar: ${this.apartado} (autor: ${this.autor})`;}
}
fetch("https://lmsgi.luis-ferreira.es/tutorial.xml")
.then((response) => {
console.log(`Paso1: Xml recibido:
Codigo: ${response.status}
Estado: ${response.ok? 'OK' : 'ERROR'}`)
return response.text()
})
.then((xmlString) => {
console.log(`Paso 2: El contenido XML recibido:${xmlString}`);
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, "text/xml");
const libro = xmlDoc.querySelectorAll("capitulo");
let capitulos = []
libro.forEach((capitulo) => {
const titulo = capitulo.querySelector("titulo").textContent;
const apartado = capitulo.querySelector("apartado").textContent;
const autor = capitulo.querySelector("autor")?.textContent ?? 'Desconocido'
//console.log(`Tit: ${titulo}, apar: ${apartado} (autor: ${autor})`);
capitulos.push(new Capitulo(titulo, apartado, autor))
});
return capitulos;
})
.then( lista => {
console.log(`Paso 3: El array de capítulos:\n`, lista )
console.log(`Paso 4: Recorremos el array:`)
lista.forEach(ele => console.log(ele.toString()) );
}).catch(err => console.error(`Error: ${err}`));