Довожу до вашего сведения, что ваш написанный на скорую руку код не работает... В ie сразу после выбора города вылазит ошибка, т.е. полагаю, что надо парсить более аккуратно и предусмотреть вариант, когда получаемый xml-документ:
а) ничего не содержит
б) содержит другую структуру документа.
Пока удалось решить часть вопроса по-своему.
Вот xml-документ, посылаемый брузеру:
<?xml version="1.0" encoding="windows-1251"?><raions><rn1>Железнодорожный</rn1><rn2>Ленинский</rn2></raions>
Удалось отобразить один произвольный элемент из этого документа с помощью getElementsByTagName(). Другие методы типа getElementsByName() здесь не сработали, хотя во многих книгах я видел описание именно такого метода, правда не для xml-документов %).
Вот код, который позволяет вывести на страницу значение пока только одного элемента:
if (xmlDoc.readyState==4)
{
if (xmlDoc.responseXML.getElementsByTagName('rn1')[0])
{
inHTML(xmlDoc.responseXML.getElementsByTagName('rn1')[0].childNodes[0].nodeValue);
}
}
где inHTML - функция, выводящая что-то в браузер.
Пока это единственный способ, котрый работает. Далее можно улучшить код, сделать "пробежку" по всем элементам и т.д.
Мне интересно, а как можно парсить xml-документ такого вида:
<?xml version="1.0" encoding="windows-1251"?>
<raions>
<rn rv="1">Железнодорожный</rn>
<rn rv="2">Ленинский</rn>
</raions>
Здесь есть атрибуты, а как к ним обращаться я не знаю. Может кто подскажет?
И ещё не понял, что делают documentElement и documentFragment. В каких случаях их применять и что они возвращают?