Bonjour je dois parser un fichier xml et former un tableau a partir des données extraite
j'ai réussi a former le tableau mais les données sont celles de la premiere ligne, voici mon code, je suis débutant soiyez ingulgent sur la propreté ..
// début du code
function submitForm() {
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("GET", "dispoMAJ-2010.xml", true);
/*
//0 ou un nombre supérieur à 0
*/
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
var xml =xhr_object.responseXML;
var racine = xml.documentElement;
var result="";
document.write( "<table width='100%' border='1'> <tr> <td></td>" );
// on teste d'abord le nmbre de jours présents dans la base
for(var i = 0; i<racine.childNodes.length; i++){
if (xml.getElementsByTagName("MAJDispo")[i])
document.write("<td width ='200'>"+xml.getElementsByTagName("MAJDispo")[i].getAttribute("date")+"</td>");
}
document.write( "</tr> <tr> " );
getFils(racine);
document.write( "</tr><table>" );
}
function getFils(xml){
if (xml.nodeName =="CompteDispo")
{
for(var i = 0; i<xml.childNodes.length; i++){
var element = xml.childNodes[i];
// On affiche le nom des appartements
document.write( "<td><b>"+element.nodeValue+"</b> </td>" );
}
for(var k = 0; k<racine.childNodes.length; k++){
// for(var i = 0; i<xml.childNodes.length; i++){
//s'il existe une date alors on affiche la dispo
if (racine.getElementsByTagName("MAJDispo")[k])
document.write("<td>"+racine.getElementsByTagName("MAJDispo")[k].getElementsByTagName("CompteDispo")[i].getAttribute("Nb_loge")+"</td>");
//}
}
}
for(var i = 1; i<xml.childNodes.length; i++){
var element = xml.childNodes[i];
var nom = element.nodeName;
if(element.nodeType==1)
{document.write( "<tr>" );
getFils(element);
document.write( "</tr>" );}
}
}
}
xhr_object.send(null);
}
/*fin du code*/
le fichier XML est de la forme de
<?xml version="1.0" encoding="UTF-8"?>
<donnees>
<MAJDispo date="2010-12-01">
<Dispo>
<CompteDispo Nb_loge="1">element1</CompteDispo>
<CompteDispo Nb_loge="0">element2</CompteDispo>
<CompteDispo Nb_loge="1">element3</CompteDispo>
</dispo>
</MAJDispo>
<MAJDispo date="2010-12-02">
<Dispo>
<CompteDispo Nb_loge="0">element1</CompteDispo>
<CompteDispo Nb_loge="0">element2</CompteDispo>
<CompteDispo Nb_loge="1">element3</CompteDispo>
</dispo>
</MAJDispo>
</donnees>
Zeitoun