Кажется, что нет никакой полезной документации о разборе XML в Mootools.Либо это так глупо легко, что никто не удосужился бы упомянуть об этом, либо это так чертовски трудно, что все бросили попытки.У кого-нибудь есть какой-нибудь простой кросс-браузерный метод для анализа XML с помощью Mootools?
Вот мой маленький 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, где я пытаюсь запустить getElements («предложение») для responseXML.
МожетЛюбой добрый эксперт восстановит мою веру в мистические силы Mootools?
Приветствия Фред