I am generating an XML file with JavaScript, when I iterate over an array of objects to enter the data in the XML it gives me the error that you see in the title. I am generating ROW nodes in which I want to put certain elements. My problem starts when I try to access X position of an element or when I try to add it to the node.
this.array.forEach((element) => {
var node = xmlDoc.createElement("ROW");
var row = xmlDoc.getElementsByTagName("ROW");
var fecha = xmlDoc.createElement("DATE");
xmlDoc.getElementsByTagName("DATE")[0].textContent = element.fecha;
row[0].appendChild(fecha);
var descripcion1 = xmlDoc.createElement("DESCRIPTION");
xmlDoc.getElementsByTagName("DESCRIPTION")[0].textContent =
element.descripcion1;
row[0].appendChild(descripcion1);
var descripcion2 = xmlDoc.createElement("DESCRIPTION2");
xmlDoc.getElementsByTagName("DESCRIPTION2")[0].textContent =
element.descripcion2;
row[0].appendChild(descripcion2);
var nombre = xmlDoc.createElement("NAME");
xmlDoc.getElementsByTagName("NAME")[0].textContent = element.nombre;
row[0].appendChild(nombre);
rowset[0].appendChild(node);
});
Here I leave you how I have generated the XML.
var xmlDoc = document.implementation.createDocument(null, "filename");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var xmlDoc = xhttp.responseXML;
}
xhttp.open("GET", "filename.xml", true);
xhttp.send();
};
var xmlString = "<ROWSET></ROWSET>";
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, "text/xml");
var rowset = xmlDoc.getElementsByTagName("ROWSET");