我在IE 9 RC 1標準模式下試圖繞過另一個問題(XMLHttpRequest對象返回一個MSXML ActiveX對象,即使在標準模式下也是如此)。功能檢測看到DOMParser,兩個文檔不是兼容所以我使用的DOMParser會做的伎倆)
再現在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);
警報輸出...
原始XML:
<TEST ID="124" TITLE="TitleValue" DATE="2011-02-24T00:00:00" STATUS="Processing" EMPNAME="Smith, Sam" STATUSCODE="P" ROWNUM="1" />
新的XML:
<TEST ROWNUM="1" STATUSCODE="P" EMPNAME="Smith, Sam" STATUS="Processing" DATE="2011-02-24T00:00:00" TITLE="TitleValue" ID="124" />
更新: 我已經提交了一份bug報告與微軟的IE 9對這個問題,他們已經解決了它作爲 '設計'。
如果您在IE 9中使用DOMParser.parseFromString函數時希望您的XML屬性按特定順序排列,那麼您將希望顯式獲取屬性,而不是簡單地遍歷它們。
以下是錯誤報告: https://connect.microsoft.com/IE/feedback/details/645091/domparser-parsefromstring-in-ie-9-rc-1-rearranges-the-attributes-of-the-xml-node-passed-in
我有同樣的問題。你能爲我提供解決方案嗎? – 2012-08-18 13:36:17