bon, ben suite à pas mal de recherche, j'ai réussi, mais il me reste quand meme un petit pb.
Voici les fait (pour ceux que ca interesse) :
Fonctions JS de traitement du XML
///////////////////////////////////
// Fonctions de gestion de l'XML //
///////////////////////////////////
function xmlLoad(url, fnc_load)
{
if (window.ActiveXObject)
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
if (typeof xmlDoc!="undefined")
xmlDoc.load(url)
while(xmlDoc.readyState != 4) {};
return xmlDoc;
}
else (document.implementation && document.implementation.createDocument)
{
var xmlDoc = document.implementation.createDocument("","doc",null);
if (typeof xmlDoc!="undefined")
xmlDoc.load(url)
eval("xmlDoc.onload = "+fnc_load);
return xmlDoc;
}
return null;
}
function xmlInit(xmlDoc, fnc_load)
{
if (window.ActiveXObject)
{
eval(fnc_load+"()");
}
else if (document.implementation && document.implementation.createDocument)
{
eval("xmlDoc.onload = "+fnc_load);
}
return true;
}
function xmlSelectNodes(xmlDoc, nom)
{
return xmlDoc.getElementsByTagName(nom);
}
function xmlReadNode(xmlNode)
{
var notWhitespace = /\S/;
for (i=0;i<xmlNode.childNodes.length;i++)
{
if ((xmlNode.childNodes[i].nodeType == 3)&&(!notWhitespace.test(xmlNode.childNodes[i].nodeValue)))
{
xmlNode.removeChild(xmlNode.childNodes[i]);
i--;
}
}
var liste = new Array();
for (i=0;i<xmlNode.childNodes.length;i++)
{
liste[i] = new Array();
liste[i]['name'] = xmlNode.childNodes[i].nodeName;
liste[i]['value'] = xmlNode.childNodes[i].firstChild.nodeValue;
}
return liste;
}
fichier message.xml
<root>
<message>Test de chargement de XML</message>
<calcul>1 => 1</calcul>
<calcul>2 => 4</calcul>
<calcul>3 => 9</calcul>
<calcul>4 => 16</calcul>
</root>
fonctions d'appel du xml pour affichage
function init()
{
var liste = xmlReadNode(xmlSelectNodes(xmlDoc, "root")[0]);
var txt = "";
for (i=0;i<liste.length;i++)
txt+= i+" - "+liste[i]['name'] + " - "+liste[i]['value']+"<br>";
Ecrire(Identifier("container"), txt); // ecris dans la div "container"
}
var xmlDoc = xmlLoad("message.xml");
xmlInit(xmlDoc, "init");
mon pb est le suivant :
ca marche impecable avec l'exemple ci-dessus. Par contre, si je prend pour XML un fichier généré par du php (du style message.xml.php) ben sous firefox, il ne me reconnait plus le fichier comme du XML et reffuse de l'interpreter, alors que ca marche sous IE...
quelqu'un aurait une idée ?