Hi, I got a question about loading an XML file in javascript. I'm using it to create a table dynamically.
Everything's working fine using I.E., the structure file of the XML file has been loaded correctly into firefox as well, since I can see the names of the nodes. It's only the data that seems to be missing, since I always get "undefined" when I try to call for a text or a value (which is not the case in I.E.)
I searched for this problem on the internet for a while but can't seem to find something that really helps me.
The XML file :
HTML :
Everything's working fine using I.E., the structure file of the XML file has been loaded correctly into firefox as well, since I can see the names of the nodes. It's only the data that seems to be missing, since I always get "undefined" when I try to call for a text or a value (which is not the case in I.E.)
I searched for this problem on the internet for a while but can't seem to find something that really helps me.
Code:
function loadXML(file) {
var moz = (typeof document.implementation != 'undefined') &&
(typeof document.implementation.createDocument != 'undefined');
var ie = (typeof window.ActiveXObject != 'undefined');
var xmlDoc;
if (moz)
{xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
}
else if (ie)
{xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
}
xmlDoc.load(file);
return xmlDoc;
}
function buildTablerows(xmlFile)
{
var xmlDoc = loadXML("Data.xml");
var root = xmlDoc.documentElement;
xmlObj=xmlDoc.documentElement;
var cn=xmlDoc.getElementsByTagName('Beeld');
//document.write(xmlObj.childNodes.length)
document.write(cn.length);
tekst="<TR align='center'>";
alert(xmlDoc.getElementsByTagName('Beeld')[0].getElementsByTagName('Uitleg') + ' ' + root.text);//[0].text);
var j = 0;
//for(i=0; i<xmlObj.childNodes.length; i++)
for(i=0; i<cn.length; i++)
{
tekst += "<TD width='128' align='center' valign='top' class=title2original > <a href='' ><div align='center'><img src='";
tekst += root.getElementsByTagName("Beeld")[i].getElementsByTagName("Item")[0].text; //"bradbrook.jpg";
//xmlObj.childNodes(i).childNodes(0).text;
tekst += "' width=128 height=192 border=0 align='middle'>";
tekst += "</a><br><a href=''>";
tekst += root.getElementsByTagName("Beeld")[i].getElementsByTagName("Uitleg")[0].nodeName; //nodeName; //root.nodeName;
//xmlObj.childNodes(i).childNodes(1).text;
tekst += "</a><br></TD>";
j += 1;
if(j == 5)
{
j = 0;
tekst += "</TR><TR align='center'>";
}
}
if(j>0 && j < 5)
{
for(i=j; i<5; i++)
{
tekst += "<TD width='128' align='center' valign='top' class=title2original> <div align='center'></TD>";
}
}
tekst += "</TR>";
document.write(tekst);
}
The XML file :
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<Produkt>
<Beeld>
<Item>bradbrook.jpg</Item>
<Uitleg>Uitleg 1</Uitleg>
</Beeld>
<Beeld>
<Item>bradbrook2.jpg</Item>
<Uitleg>Uitleg 2</Uitleg>
</Beeld>
</Produkt>
HTML :
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script language="javascript" type="text/javascript" src="menu/javascript/Laden3.js"></script>
</head>
<body>
<DIV><TABLE width=750><TBODY align='center'><script>bouwNieuws('Data.xml')</script></TBODY></TABLE></DIV>
</body>
</html>