-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathexportar-tabla-html-a-xml.js
41 lines (36 loc) · 1.25 KB
/
exportar-tabla-html-a-xml.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//Usa jquery y solo debes mandarle el id de la tabla junto con una tabla que tiene su respectivo theader y tbody
function exportHTMLTableXML(idTable) {
let nombre = idTable+'-'+((new Date).toLocaleDateString()).replaceAll('/','-')
let titulos = []
$('#table-duplicados thead th').each(function(i,o) {
titulos.push($(o).text())
})
let data =
`<?xml version="1.0" encoding="UTF-8"?>
<productos>
${Array.from($(`#${idTable} tbody tr`))
.map(
producto => {
let resouesta = ''
let i = 0
resouesta += ' <producto>\n'
for (titulo of titulos) {
resouesta += ` <${titulo}>${producto.children[i].innerText}</${titulo}>\n`
i++
}
resouesta += ' </producto>\n'
return resouesta
}
)
.join("")
}
</productos>`;
const a = document.createElement("a");
a.href = URL.createObjectURL(new Blob([data], {
type: "text/xml"
}));
a.setAttribute("download", nombre);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}