似乎没有任何关于在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无法处理这个问题! –