似乎沒有任何關於在Mootools中解析XML的有用文檔。要麼是這麼愚蠢的容易,沒人會提起它,或者每個人都放棄嘗試是非常困難的。有沒有人有任何簡單的跨瀏覽器方法來解析XML與Mootools?在Mootools中解析XML
這裏是我的小XML文件data.xml中:
<?xml version="1.0"?>
<suggestions>
<suggestion winning="Y">
<copy><![CDATA[Draw straws to see who wins]]>
</copy>
<person><![CDATA[Sue]]>
</person>
<location><![CDATA[London]]>
</location>
</suggestion>
<suggestion winning="N">
<copy><![CDATA[Race your friends round the meeting room]]>
</copy>
<person><![CDATA[Jack]]>
</person>
<location><![CDATA[Lancaster]]>
</location>
</suggestion>
</suggestions>
這是我的JS:
window.addEvent('domready', function(){
var outputHTML = '';
var req = new Request({
url: 'data.xml',
method: 'get',
onSuccess: function(responseText, responseXML) {
if(typeOf(responseXML) != 'document'){
responseXML = responseXML.documentElement;
}
var suggestions = responseXML.getElements('suggestion');
suggestions.each(function(item) {
outputHTML += '<p>';
outputHTML += item.getElement('copy').get('text') + '<br/>';
outputHTML += '<b>' + item.getElement('person').get('text') + '</b>: ';
outputHTML += item.getElement('location').get('text') + '<br/>';
if (item.get('winning') == 'Y') {
outputHTML += ' <b>Won!</b>';
}
outputHTML += '</p>';
});
$('output').set('html', outputHTML);
}
}).send();
});
我發現我已經做responseXML = responseXML.documentElement
位,使其在Chrome瀏覽器。這個JS在Chrome和FF中可以正常工作,但IE在第16行中抱怨「對象不支持此屬性或方法」,我試圖在responseXML上運行getElements('suggestion')。
任何善意的專家都可以恢復我對Mootools神祕能力的信心嗎?
乾杯 弗雷德
也許你需要使用在這裏描述的「Microsoft.XMLDOM」ActiveX對象http://stackoverflow.com/questions/1601873/how-to-receive-xml-in-ie8-with-mootools – CodeZombie
謝謝ZombieHunter,我注意到這個帖子,也認爲這是可能是我需要做的。同時我會看看是否有人有任何其他想法。對我來說似乎很奇怪,Mootools無法處理這個問題! –