Chargement XML : getElementsByTagName.length renvoie 0
Bonjour,
je souhaite charger un XML dans ma page HTML grâce à Javascript.
Voici mon XML :
Code:
1 2 3 4
|
<?xml version="1.0" encoding="iso-8859-1"?>
<product>blabla</product>
<product>blabla</product> |
Et voici mon Javascript :
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
|
var docXml;
function createXhrObject() {
if (window.XMLHttpRequest)
return new XMLHttpRequest();
if (window.ActiveXObject)
{
var names = [
"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP",
"Microsoft.XMLHTTP"
];
for(var i in names)
{
try{ return new ActiveXObject(names[i]); }
catch(e){}
}
}
window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest.");
return null; // non supporté
}
function xmlLoad() {
var xhr = createXhrObject();
xhr.onreadystatechange=function()
{
if (xhr.readyState == 4) /* 4 : état "complete" */
{
if (xhr.status == 200) /* 200 : code HTTP pour OK */
{
docXml = xhr.responseXML;
alert(docXml); // renvoie [object XMLDocument] sur FF, [object] sur IE
alert(docXml.getElementsByTagName("product").length); //renvoie 0
}
}
}
xhr.open('GET','test.xml',true);
xhr.send(null);
} |
Mon alert me renvoie 0 alors qu'il devrait afficher 2...
Ca fait des heures que je cherche l'origine du problème et je ne trouve pas...