I have a script (see below) that accesses a XML file and displays the
contents through a series of document.write calls. This all works fine
in IE, but not at all in Firefox. I get no errors in the javascript
console, but when I try to load the elements by tag name and look at
the length it is always 0 as if no elements have been added. Any
suggestions are greatly appreciated as I've been stuck on this for a
while now.
Thanks,
Laramie Hartmann
Here is a sample record from my XML file...
<?xml version="1.0" ?>
<DOCTOR>
<PHOTO>facholon u.jpg</PHOTO>
<NAME>Felix N. Acholonu, M.D.</NAME>
<SNAME>FACH</SNAME>
<OFFICE>
<ADDRESS>
<STREET>1801 Barrs St., Ste. 920</STREET>
<CITY>Jacksonvi lle</CITY>
<STATE>FL</STATE>
<ZIP>32204</ZIP>
<PHONE>(904) 387-1401</PHONE>
</ADDRESS>
<ABBR>STV5</ABBR>
<FULL>St. Vincent's 5</FULL>
</OFFICE>
<SPECIALTY>Obst etrics & Gynecology</SPECIALTY>
<HOSPITAL>St. vincent's Medical Center</HOSPITAL>
<COLLEGE>SUNY Health Science Center</COLLEGE>
<GRADUATION>198 1</GRADUATION>
<BOARD>Americ an Board of Obstetrics & Gynecology</BOARD>
<BLURB></BLURB>
</DOCTOR>
Here is the javascript...
<script type="text/javascript">
//<![CDATA[
if (window.ActiveX Object)
{
var xmlDoc = new ActiveXObject(" Microsoft.XMLDO M");
xmlDoc.async=fa lse; //Enforce download of XML file first. IE only.
document.write( "Internet Explorer");
}
else if (document.imple mentation &&
document.implem entation.create Document)
{
xmlDoc = document.implem entation.create Document("", "doc", null);
document.write( "Firefox");
}
xmlDoc.load("ca regivers.xml");
var x=xmlDoc.getEle mentsByTagName( "PHOTO")
var nm=xmlDoc.getEl ementsByTagName ("NAME")
var sname=xmlDoc.ge tElementsByTagN ame("SNAME")
var abbr=xmlDoc.get ElementsByTagNa me("ABBR")
var full=xmlDoc.get ElementsByTagNa me("FULL")
var street=xmlDoc.g etElementsByTag Name("STREET")
var city=xmlDoc.get ElementsByTagNa me("CITY")
var state=xmlDoc.ge tElementsByTagN ame("STATE")
var zip=xmlDoc.getE lementsByTagNam e("ZIP")
var phone=xmlDoc.ge tElementsByTagN ame("PHONE")
var specialty=xmlDo c.getElementsBy TagName("SPECIA LTY")
var tem = window.location .search;
tem = tem.substring(1 0,14);
for (var i = 1; i <= x.length; i++)
{
if (tem == abbr.item(i-1).text || tem == "" || tem == "ALLD")
{
document.write( "<div class='square'> ")
document.write( "<img class='bimg' src='" + x.item(i-1).text + "'
width='125' height='150'></img>")
document.write( "<div class='namebloc k'>")
document.write( "<strong><a href='bio.html? caregiver=" +
sname.item(i-1).text + "'>" + nm.item(i-1).text + "</a></strong><br
/>")
document.write( "<a href='division. html?division=" +
abbr.item(i-1).text + "'>" + full.item(i-1).text + "</a><br />")
document.write( street.item(i-1).text + "<br />")
document.write( city.item(i-1).text + ", " + state.item(i-1).text + " "
+ zip.item(i-1).text)
document.write( "</div>")
document.write( "<div class='clearer' ></div>")
document.write( "</div>")
}
}
var division = document.getEle mentById("divis ion")
for (i = 0; i < division.length ; i++)
{
if (tem == division.option s[i].value)
{
division.option s[i].selected = true
}
}
var name=xmlDoc.get ElementsByTagNa me("NAME")
var docs = document.getEle mentById("careg iver")
var len = docs.length
for (var i = 0; i < sname.length; i++)
{
docs.options[len+i] = new Option(name.ite m(i).text)
docs.options[len+i].value = sname.item(i).t ext
}
//]]>
</script>
contents through a series of document.write calls. This all works fine
in IE, but not at all in Firefox. I get no errors in the javascript
console, but when I try to load the elements by tag name and look at
the length it is always 0 as if no elements have been added. Any
suggestions are greatly appreciated as I've been stuck on this for a
while now.
Thanks,
Laramie Hartmann
Here is a sample record from my XML file...
<?xml version="1.0" ?>
<DOCTOR>
<PHOTO>facholon u.jpg</PHOTO>
<NAME>Felix N. Acholonu, M.D.</NAME>
<SNAME>FACH</SNAME>
<OFFICE>
<ADDRESS>
<STREET>1801 Barrs St., Ste. 920</STREET>
<CITY>Jacksonvi lle</CITY>
<STATE>FL</STATE>
<ZIP>32204</ZIP>
<PHONE>(904) 387-1401</PHONE>
</ADDRESS>
<ABBR>STV5</ABBR>
<FULL>St. Vincent's 5</FULL>
</OFFICE>
<SPECIALTY>Obst etrics & Gynecology</SPECIALTY>
<HOSPITAL>St. vincent's Medical Center</HOSPITAL>
<COLLEGE>SUNY Health Science Center</COLLEGE>
<GRADUATION>198 1</GRADUATION>
<BOARD>Americ an Board of Obstetrics & Gynecology</BOARD>
<BLURB></BLURB>
</DOCTOR>
Here is the javascript...
<script type="text/javascript">
//<![CDATA[
if (window.ActiveX Object)
{
var xmlDoc = new ActiveXObject(" Microsoft.XMLDO M");
xmlDoc.async=fa lse; //Enforce download of XML file first. IE only.
document.write( "Internet Explorer");
}
else if (document.imple mentation &&
document.implem entation.create Document)
{
xmlDoc = document.implem entation.create Document("", "doc", null);
document.write( "Firefox");
}
xmlDoc.load("ca regivers.xml");
var x=xmlDoc.getEle mentsByTagName( "PHOTO")
var nm=xmlDoc.getEl ementsByTagName ("NAME")
var sname=xmlDoc.ge tElementsByTagN ame("SNAME")
var abbr=xmlDoc.get ElementsByTagNa me("ABBR")
var full=xmlDoc.get ElementsByTagNa me("FULL")
var street=xmlDoc.g etElementsByTag Name("STREET")
var city=xmlDoc.get ElementsByTagNa me("CITY")
var state=xmlDoc.ge tElementsByTagN ame("STATE")
var zip=xmlDoc.getE lementsByTagNam e("ZIP")
var phone=xmlDoc.ge tElementsByTagN ame("PHONE")
var specialty=xmlDo c.getElementsBy TagName("SPECIA LTY")
var tem = window.location .search;
tem = tem.substring(1 0,14);
for (var i = 1; i <= x.length; i++)
{
if (tem == abbr.item(i-1).text || tem == "" || tem == "ALLD")
{
document.write( "<div class='square'> ")
document.write( "<img class='bimg' src='" + x.item(i-1).text + "'
width='125' height='150'></img>")
document.write( "<div class='namebloc k'>")
document.write( "<strong><a href='bio.html? caregiver=" +
sname.item(i-1).text + "'>" + nm.item(i-1).text + "</a></strong><br
/>")
document.write( "<a href='division. html?division=" +
abbr.item(i-1).text + "'>" + full.item(i-1).text + "</a><br />")
document.write( street.item(i-1).text + "<br />")
document.write( city.item(i-1).text + ", " + state.item(i-1).text + " "
+ zip.item(i-1).text)
document.write( "</div>")
document.write( "<div class='clearer' ></div>")
document.write( "</div>")
}
}
var division = document.getEle mentById("divis ion")
for (i = 0; i < division.length ; i++)
{
if (tem == division.option s[i].value)
{
division.option s[i].selected = true
}
}
var name=xmlDoc.get ElementsByTagNa me("NAME")
var docs = document.getEle mentById("careg iver")
var len = docs.length
for (var i = 0; i < sname.length; i++)
{
docs.options[len+i] = new Option(name.ite m(i).text)
docs.options[len+i].value = sname.item(i).t ext
}
//]]>
</script>
Comment