Pogrzebałem trochę i znalazłem dość prosty przykład jak załadować kawałek xml'a http://developer.mozilla.org/en/AJAX/Getting_Started
Przerobiłem skrypt podany na stronie i wyszło mi coś takiego
Kod
function loadPage(pageUrl,htmlTag,xmlTag)
{
if(xmlTag == undefined)
{
xmlTag = htmlTag;
}
var httpRequest;
if (window.XMLHttpRequest)
{
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType)
{
httpRequest.overrideMimeType('text/xml');
}
}
else
{
if (window.ActiveXObject)
{
try
{
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
}
if (!httpRequest)
{
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = alertContents(httpRequest,htmlTag,xmlTag);
httpRequest.open('GET', pageUrl, true);
httpRequest.send('');
}
function alertContents(httpRequest,htmlTag,xmlTag)
{
if (httpRequest.readyState == 4)
{
if (httpRequest.status == 200)
{
var xmldoc = httpRequest.responseXML;
var root_node = xmldoc.getElementsByTagName(xmlTag).item(0);
var data = document.getElementById(htmlTag);
data.innerHTML = root_node.firstChild.data;
}
else
{
alert('There was a problem with the request.');
}
}
}
{
if(xmlTag == undefined)
{
xmlTag = htmlTag;
}
var httpRequest;
if (window.XMLHttpRequest)
{
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType)
{
httpRequest.overrideMimeType('text/xml');
}
}
else
{
if (window.ActiveXObject)
{
try
{
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
}
if (!httpRequest)
{
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = alertContents(httpRequest,htmlTag,xmlTag);
httpRequest.open('GET', pageUrl, true);
httpRequest.send('');
}
function alertContents(httpRequest,htmlTag,xmlTag)
{
if (httpRequest.readyState == 4)
{
if (httpRequest.status == 200)
{
var xmldoc = httpRequest.responseXML;
var root_node = xmldoc.getElementsByTagName(xmlTag).item(0);
var data = document.getElementById(htmlTag);
data.innerHTML = root_node.firstChild.data;
}
else
{
alert('There was a problem with the request.');
}
}
}
Plik pole1.xml
<?xml version="1.0" ?> <pole1>Jakiś tekst ble ble bel</pole1>
HTML:
Jednak po kliknięciu na link cała strona się przeładowuje - nie wyświetla danych z pliku xml