Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обход дерева XML 
V
    Опции темы
DimaSiK
Дата 24.10.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Как мне выделить арибуты из вот такого вот XML дерева?
Код

 <root>
  <answer name="user_name" answer="N" /> 
  </root>

Делаю вот так:
Код

xmlRoot        =    response.documentElement;    
Answer        =    xmlRoot.getElementsByTagName('answer');

потом хочу получить значение арибута через
Код

AnswerAt=    Answer.getAttribute('answer');

и нифига=(((, в чем дело?? Подскажите, где можно почитать?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
pompei
Дата 24.10.2007, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.9.2007

Репутация: 1
Всего: 6



Answer - это массив.

--------------------
А всё оказывается гораздо проще: пассивные наноструктуры - активные наноструктуры - системы наносистем - молекулярные наносистемы - сингулярность! По пять лет на каждый этап.
PM MAIL   Вверх
dstorm81
Дата 24.10.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



<root>
<answer name="user_name" answer="N" /> 
</root>
джаваскрипт
xmlRoot=response.documentElement;
AnswerAt=xmlRoot.getElementsByTagName('answer')[0].getAttribute('answer');



--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
cruelangel
Дата 24.10.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



юзай xpath лучше
PM MAIL   Вверх
DimaSiK
Дата 25.10.2007, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата(dstorm81 @ 24.10.2007,  14:17)
<root>
<answer name="user_name" answer="N" /> 
</root>
джаваскрипт
xmlRoot=response.documentElement;
AnswerAt=xmlRoot.getElementsByTagName('answer')[0].getAttribute('answer');

в Опере работает, а в ИЕ нет?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
DimaSiK
Дата 25.10.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



вот этот фрагмент работает в Опере, но не работает в ИЕ?
Код

    var xmlRoot =   response.documentElement;
    var Names   =   xmlRoot.getElementsByTagName('answer');
    alert('Length'+ Names.length);

В опере вижу 1, а в ИЕ вижу мат - ошибку.


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Starikan
Дата 25.10.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 25.10.2007

Репутация: -2
Всего: -15



Используй следующий код:
Код

<script type="text/javascript">
<!--
function link_to_post(pid)
{
temp = prompt( "Копирование прямой ссылки этой темы, для сохранения ссылки в буфере обмена Вашего компьютера", "http://forum.vingrad.ru"+"/index.php?showtopic=178633&view=findpost&p=" + pid );
return false;
}
function PopUp(url, name, width,height,center,resize,scroll,posleft,postop) {
if (posleft != 0) { x = posleft }
if (postop  != 0) { y = postop  }
if (!scroll) { scroll = 1 }
if (!resize) { resize = 1 }
if ((parseInt (navigator.appVersion)>= 4 ) && (center)) {
X = (screen.width  - width ) / 2;
Y = (screen.height - height) / 2;
}
if (scroll != 0) { scroll = 1 }
var Win = window.open( url, name, 'width='+width+',height='+height+',top='+Y+',left='+X+',resizable='+resize+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no');
}
function ShowHide(id1, id2) {
if (id1 != '') expMenu(id1);
if (id2 != '') expMenu(id2);
}
function expMenu(id) {
var itm = null;
if (document.getElementById) {
itm = document.getElementById(id);
} else if (document.all){
itm = document.all[id];
} else if (document.layers){
itm = document.layers[id];
}
if (!itm) {
// do nothing
}
else if (itm.style) {
if (itm.style.display == "none") { itm.style.display = ""; }
else { itm.style.display = "none"; }
}
else { itm.visibility = "show"; }
}
//-->
</script>


У меня вродибы всё работает с этим кодом
PM MAIL   Вверх
DimaSiK
Дата 26.10.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Все, проблему решил. Дело в том, что XML мне отдавал PHP скрипт и я забыл, вернее не думал, что это важно и не написал строчу 
Код

Header('Content-type text/xml');

, но Opera на это не ругалась и распозновала отлично то, что ей высылают, а все остальные браузеры отказались понимать, что им тыкают XML файл. Вот и вся проблемма. Всем спасбо за помощь.

Добавлено через 4 минуты и 42 секунды
Цитата(Starikan @ 25.10.2007,  15:43)
Используй следующий код:
Код

<script type="text/javascript">
<!--
function link_to_post(pid)
{
temp = prompt( "Копирование прямой ссылки этой темы, для сохранения ссылки в буфере обмена Вашего компьютера", "http://forum.vingrad.ru"+"/index.php?showtopic=178633&view=findpost&p=" + pid );
return false;
}
function PopUp(url, name, width,height,center,resize,scroll,posleft,postop) {
if (posleft != 0) { x = posleft }
if (postop  != 0) { y = postop  }
if (!scroll) { scroll = 1 }
if (!resize) { resize = 1 }
if ((parseInt (navigator.appVersion)>= 4 ) && (center)) {
X = (screen.width  - width ) / 2;
Y = (screen.height - height) / 2;
}
if (scroll != 0) { scroll = 1 }
var Win = window.open( url, name, 'width='+width+',height='+height+',top='+Y+',left='+X+',resizable='+resize+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no');
}
function ShowHide(id1, id2) {
if (id1 != '') expMenu(id1);
if (id2 != '') expMenu(id2);
}
function expMenu(id) {
var itm = null;
if (document.getElementById) {
itm = document.getElementById(id);
} else if (document.all){
itm = document.all[id];
} else if (document.layers){
itm = document.layers[id];
}
if (!itm) {
// do nothing
}
else if (itm.style) {
if (itm.style.display == "none") { itm.style.display = ""; }
else { itm.style.display = "none"; }
}
else { itm.visibility = "show"; }
}
//-->
</script>


У меня вродибы всё работает с этим кодом

Родной, что у тебя работает? Минус еще один захотел. Нафиг тупняк писать!!!!


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0856 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.