Обрабатывать XML, возвращенный через Ajax с E4X? - PullRequest
0 голосов
/ 22 мая 2009

Я загружаю XML через Ajax.

вот фрагмент сценария:

ajaxRequest.onreadystatechange = function()
    {
        if(ajaxRequest.readyState == 4)
        {
            document.getElementById('loading').innerHTML = 'done';
            google_xml = ajaxRequest.responseXML;
            document.getElementById('xml').innerHTML = 'XML: '+google_xml.toXMLString();
        }
    }

Страница, которую я загружаю, является файлом XML, файл загружается, потому что, если я предупреждаю (ajaxRequest.responseText); Я вижу это. Но я не уверен, как обработать его как XML. Я думал, что приведенный выше скрипт поместит XML как строку в элемент

, но это не так.

Я много использовал E4X для обработки XML в Actionscript, но никогда в JS, может кто-нибудь дать мне подсказку? Спасибо!

Ответы [ 3 ]

3 голосов
/ 22 мая 2009

Я не уверен, какой браузер вы используете, но Firefox в настоящее время является единственным браузером с хорошей поддержкой E4X .

Хотя, чтобы расширить этот ответ, вы можете знать об альтернативе:

В браузере достаточно поддержки парсинга XML, но только не в E4X. Вы можете использовать jQuery и использовать dataType: XML. См. Xml.com/pub/a/

1 голос
/ 12 декабря 2009

Для тех, кто следит за тем же вопросом:

var x = новый XML (' строковое значение ');

... теперь ваше значение x является объектом xml, которым вы можете манипулировать с E4X!

0 голосов
/ 23 мая 2009

Просто используйте xhr.responseXML, который уже является объектом XML с поддержкой DOM, после того, как запрос будет выполнен. Если браузер поддерживает объект XmlHttpRequest, это должно работать напрямую. Также, IIRC, вы можете использовать jQuery, чтобы обернуть объект и использовать его собственные методы find / each для обхода объекта.

...