在 JavaScript 的世界裡如何讓 String 與 XML 物件相互轉換[转]
我今天利用一支 jQuery 程式測試一個 Web Service 的回應,突然想要取回的 XML 資料轉成字串印出來看,首先是想的太複雜 (試不出來就是複雜),後來又覺得好簡單 (原來只要 xmlObject.xml 就可以了),但最後還是發現沒有想像中的簡單,而且每個瀏覽器對於 XML 的物件操作也不太一致,問了些朋友與上網找了些資料後,整理成兩個 function 可以彼此互相轉換。
將字串轉換成 XML 物件
function convert_string_to_xml(strXML) { if (window.ActiveXObject) { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(strXML); return xmlDoc; } else { parser=new DOMParser(); xmlDoc=parser.parseFromString(strXML,"text/xml"); return xmlDoc; } }
將 XML 物件轉換成字串
function convert_xml_to_string(xmlObject) { if (window.ActiveXObject) { // for IE return xmlObject.xml; } else { return (new XMLSerializer()).serializeToString(xmlObject); } }
一点说明:为什么在标题中要嵌入英文?原因是为了能够让国外的网友能查询到这篇文章。平常在Google上查资料的时候,经常参考国外网友的博客,帮助我解决了很多问题,所以我也想让他们能够参考我写的内容。当然文中我不可能全部译为英文,所以我尽量把代码粘全,靠代码说话吧。