Показать сообщение отдельно
  #10 (permalink)  
Старый 16.07.2009, 15:48
Аспирант
Отправить личное сообщение для uonax Посмотреть профиль Найти все сообщения от uonax
 
Регистрация: 13.07.2009
Сообщений: 38

Довожу до вашего сведения, что ваш написанный на скорую руку код не работает... В 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. В каких случаях их применять и что они возвращают?

Последний раз редактировалось uonax, 16.07.2009 в 15:54.
Ответить с цитированием