J'ai rencontré ce problème en mode Standards d'IE 9 RC 1 en essayant de contourner un autre problème (l'objet XMLHttpRequest renvoyant un objet ActiveX MSXML même en mode Standards.) La détection de fonction voit le DOMParser et les deux documents ne sont pas compatible donc je me suis à l'aide du DOMParser ferait l'affaire)
Exemple de code qui reproduit la question dans IE 9 RC 1:
var sXML = "<TEST ID=\"124\" TITLE=\"TitleValue\" DATE=\"2011-02-24T00:00:00\" STATUS=\"Processing\" EMPNAME=\"Smith, Sam\" STATUSCODE=\"P\" ROWNUM=\"1\" />";
var dpParser = new DOMParser();
var xdDoc = dpParser.parseFromString(sXML, "text/xml");
var xsSerialize = new XMLSerializer();
var sNewXML = xsSerialize.serializeToString(xdDoc);
alert("Original XML:\n" + sXML + "\n\nNew XML:\n" + sNewXML);
sortie de l'alerte ...
XML d'origine:
<TEST ID="124" TITLE="TitleValue" DATE="2011-02-24T00:00:00" STATUS="Processing" EMPNAME="Smith, Sam" STATUSCODE="P" ROWNUM="1" />
Nouveau XML:
<TEST ROWNUM="1" STATUSCODE="P" EMPNAME="Smith, Sam" STATUS="Processing" DATE="2011-02-24T00:00:00" TITLE="TitleValue" ID="124" />
Mise à jour: j'avais déposé un rapport de bogue avec Microsoft pour IE 9 en ce qui concerne cette question et ils ont résolu comme 'la conception'.
Si vous attendez vos attributs XML dans un certain ordre lors de l'utilisation de la fonction DOMParser.parseFromString dans IE 9, vous voudrez saisir les attributs explicitement plutôt que simplement les parcourir.
Ce qui suit est le rapport de bogue: https://connect.microsoft.com/IE/feedback/details/645091/domparser-parsefromstring-in-ie-9-rc-1-rearranges-the-attributes-of-the-xml-node-passed-in
J'ai le même problème. Pouvez-vous me fournir une solution? –