XMLHttpRequest/MSXML Help

J

jamie

Hi,
Please find the code below, I have struggling getting to grips with the
MSXML dom and cannot for the life of me see where I am going wrong. Any
help is much appreciated.

Thanks
Jamie

XML - Snippet
<?xml version="1.0" encoding="utf-8" ?>
<iau>
<Contacts id="id0">
<FirstName>Takuma</FirstName>
<Surname>Dan</Surname>
</Contacts>
<Contacts id="id1">
<FirstName>Jamie</FirstName>
<Surname>Sutherland</Surname>
</Contacts>
</iau>

-HTML/Javascript

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
function createXMLHttp() {

if (typeof XMLHttpRequest != "undefined")
{
return new XMLHttpRequest();
} else if (window.ActiveXObject)
{
var aVersions = ["Msxml2.XMLHttp.5.0",
"Msxml2.XMLHttp.4.0","Msxml2.XMLHttp.3.0",
"Msxml2.XMLHttp","Microsoft.XMLHttp"];

for (var i = 0; i < aVersions.length; i++)
{
try
{
var oXmlHttp = new ActiveXObject(aVersions);
return oXmlHttp;
}
catch (oError)
{
//Do nothing
}
}
}
throw new Error("XMLHttp object could be created.");
}


function createXMLDOMObj()
{
var aVersions = ["Msxml2.DOMDocument.5.0",
"Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0",
"Msxml2.DOMDocument","Microsoft.XMLDom"];
for(var i = 0; i < aVersions.length; i++)
{
try
{
var oXmlDom = new ActiveXObject(aVersions);
//alert(aVersions)
return oXmlDom;
}
catch(oError)
{
alert(oError);
//do nothing
}
}
throw new Error("MSXML is not installed.");
}
function getXmlDoc()
{
var oXmlHttp = createXMLHttp();
oXmlHttp.open("get","contacts.xml", "true");
oXmlHttp.onreadystatechange = function()
{
if(oXmlHttp.readyState==4)
{
if (oXmlHttp.status == 200) {
alert("Data returned is: " + oXmlHttp.responseText);
LoadingXML(oXmlHttp.responseText);
} else {
//THIS IS WHERE THE ERROR OCCURS
alert("An error occurred: " + oXmlHttp);
}
}
};
oXmlHttp.send(null);
}
function LoadingXML(rt)
{
var oXmlDom = createXMLDOMObj();
oXmlDom.onreadystatechange = function ()
{
if(oXmlDom.readyState==4)
{
if(oXmlDom.parseError.errorCode==0)
{
parsingXML(oXmlDom);
}
}
};
oXmlDom.loadXML(rt);
}

function parsingXML(oXmlDom)
{
alert(oXmlDom.documentElement);
var root = oXmlDom.documentElement;
var contact = root.getElementByTagName("Contacts");
for(var i=0;i<contact.length;i++)
{
var contactid = contact.getAttribute("id");
var firstname,lastname;
var currentContact = contact.firstChild;
do
{
switch(currentContact.tagName)
{
case "FirstName":
firstname=currentContact.text;
break;
case "Surname":
lastname=currentContact.text;
break;
default:
break;
}
}
while(currentContact = currentContact.nextSibling);
var obj = document.getElementById("divpanel");
var html = "<b>ContactID: </b>" + contactid + "<b>" +
"<b>FirstName</b>" + firstname + "<b>Lastname : </b>" + lastname +
"<br />";
obj.innerHTML+=html;
}
}
</script>
</head>
<body onload="getXmlDoc()">
<form>
<div id="divpanel">
</div>
</form>
</body>
</html>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,563
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top