這是本文件的舊版!
XML Parser
Problem
在使用Ext.Ajax請求後,免不了需要去處理回應的內容:
Ext.Ajax.request({ url: 'requestURL.action', params: { key: aKey }, success: function(response){ var xml = response.responseXML; // Handler the response }, failure : function(response, options){ Ext.example.msg('Warning', 'Connect to server failed: ' + response.status); } });
我期望會取得的結果為:
<result> <status>success</status> <msg></msg> </result>
一般正規的原始做法如下:
var text = "<result><status>success</status><msg>test msg</msg></result>"; var xmlDoc = null; if( window.DOMParser ){ var parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); } else { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(text); } var statusNode = xmlDoc.getElementsByTagName ("status")[0]; var msgNode = xmlDoc.getElementsByTagName ("msg")[0]; var status = statusNode.textContent == null ? statusNode.text : statusNode.textContent; var msg = msgNode.textContent == null ? msgNode.text : msgNode.textContent;