Récupérer données d'un fichier xml dans une div
Bonjour,
Je souhaite pouvoir récupérer dans une div le contenu d'un fichier xml hébergé sur un espace web que j'ai. (distant).
J'ai codé un script qui fait la connexion et qui met en forme le contenu suivant ce qu'il a trouvé dans le fichier xml mais j'ai une erreur lors du test. Dans la console google chrome j'ai ceci :
Pouvez-vous m'aider? Voici les différents codes :
script.js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| function loadXMLDoc(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
dernieresminutes="";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("DERNIEREMINUTE");
for (i=0;i<x.length;i++)
{
xx=x[i].getElementsByTagName("DATE");
{
try
{
dernieresminutes=dernieresminutes + "<fieldset><legend><font color='#4e559c' size='2px'>" + xx[0].firstChild.nodeValue + "</font></legend>";
}
catch (er)
{
dernieresminutes=dernieresminutes + "<p>erreur*</p>";
}
}
xx=x[i].getElementsByTagName("CONTENT");
{
try
{
dernieresminutes=dernieresminutes + "<div class=\"row\"><font color='blue' size='3px'><center>" + xx[0].firstChild.nodeValue + "</center></font>";
}
catch (er)
{
dernieresminutes=dernieresminutes + "<p>erreur*</p>";
}
}
dernieresminutes=dernieresminutes + "</font></div></fieldset>";
}
document.getElementById('writeDernieresMinutes').innerHTML=dernieresminutes;
}
{
OffresPermanentes="";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("OFFREPERMANENTE");
for (i=0;i<x.length;i++)
{
xx=x[i].getElementsByTagName("TITRE");
{
try
{
OffresPermanentes=OffresPermanentes + "<fieldset><legend><font color='#4e559c' size='2px'>" + xx[0].firstChild.nodeValue + "</font></legend>";
}
catch (er)
{
OffresPermanentes=OffresPermanentes + "<p>erreur*</p>";
}
}
xx=x[i].getElementsByTagName("CONTENT");
{
try
{
OffresPermanentes=OffresPermanentes + "<div class=\"row\"><font color='blue' size='3px'><center>" + xx[0].firstChild.nodeValue + "</center></font>";
}
catch (er)
{
OffresPermanentes=OffresPermanentes + "<p>erreur*</p>";
}
}
OffresPermanentes=OffresPermanentes + "</font></div></fieldset>";
}
document.getElementById('writeOffresPermanentes').innerHTML=OffresPermanentes;
}
}
xmlhttp.open("POST",url,true);
xmlhttp.send();
}
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr
} |
extrait de ma page.html :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
<html lang="fr">
<head>
<title>monsite</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="script.js"></script>
<SCRIPT TYPE="text/javascript">
function init(){
loadXMLDoc('http://www.monsite.net/bonsplans.xml');
}
</SCRIPT>
</head>
<body onload="init();" onunload="clear();">
<div id="bonplans" class="panel4" title="Bons plans">
<p style="text-align:left;"><font color="#4e559c" size="3px"><b>Dernières minutes :</b></font></p>
<div id="writeDernieresMinutes"></div>
<p style="text-align:left;"><font color="#4e559c" size="3px"><b>Offres permanentes :</b></font></p>
<div id="writeOffresPermanentes"></div>
</div>
</body>
</html> |