我今天利用一支 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);
}
}
相關連結