affichage sous IE

Eléphanteau du PHP | 13 Messages

31 mars 2008, 20:32

Bonjour,

J'ai un problème avec le code ci-dessous : il marche sous Firefox mais nada avec IE 7 ("DomParser est indéfini").
Quelqu'un a une idée?
Merci

Code : Tout sélectionner

<html> <body> <script> var xmlstring = '<?xml version="1.0"?>\ <root>\ <data>\ <row>\ <cell>Admiral</cell>\ <cell>Melon</cell>\ <cell>Carrot</cell>\ </row>\ <row>\ <cell>Captain</cell>\ <cell>Banana</cell>\ <cell>Zucchini</cell>\ </row>\ </data>\ <data>\ <row>\ <cell>Midshipman</cell>\ <cell>Orange</cell>\ <cell>Potatoe</cell>\ </row>\ </data>\ </root>'; // convert the string to an XML object var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml"); // get the XML root item var root = xmlobject.getElementsByTagName('root')[0]; for (var iNode = 0; iNode < root.childNodes.length; iNode++) { var node = root.childNodes.item(iNode); for (i = 0; i < node.childNodes.length; i++) { var sibling = node.childNodes.item(i); for (x = 0; x < sibling.childNodes.length; x++) { var sibling2 = sibling.childNodes.item(x); if (sibling2.childNodes.length > 0) { var sibling3 = sibling2.childNodes.item(0); alert(sibling3.data); } } } } </script> </body> </html>

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

31 mars 2008, 21:00

MSIE n'a simplement pas de DOMParser. Tu peux essayer quelque chose comme

Code : Tout sélectionner

try { xmlobject = new DOMParser().parseFromString(xmlstring, 'application/xml'); } catch (e) { if (window.ActiveXObject) { try { xmlobject = new ActiveXObject('Microsoft.XMLDOM'); xmlobject.async = false; xmlobject.loadXML(xmlstring); } catch (e) { } } }

Eléphanteau du PHP | 13 Messages

01 avr. 2008, 14:22

Merci