The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

在 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);
	}
}

相關連結