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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как пройти по дереву XML файла 
:(
    Опции темы
Jodler
Дата 21.7.2008, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток!
Столкнулся с такой проблемой:
Есть xml файл. Его содержимие:
Код

<?xml version="1.0" encoding="UTF-8"  ?> 
<root>
    <data>
        Иванов Иван Иванович
    </data>
    <data>
        Петров Пётр петрович
    </data>
    <data>
        Сидоров Сидор Сидорович
    </data>
</root>

Считываю этот файл средствами javaScript и пытаюсь пройти по дереву, 
используя document.firstChild и document.lastChild. В итоге получаю соответственно
либо Иванов Иван Иванович, либо Сидоров Сидор Сидорович. А вот к Петрову никак не могу добраться. 
Не получается. В руководствах я этого не нашёл. Подскажите пожалуйста, как правильно нужно это сделать?
Вот код:
Код

<html>
<head>
<title>Тест</title>
</head>
<body>
<script>
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async =  false;
xmldoc.load("test.xml");
var rootElement = xmldoc.documentElement;

var myData = rootElement.firstChild;
// либо var myData = rootElement.lastChild;
var myText = myData.firstChild;

document.writeln(myText.nodeValue);
</script>
</body>
</html>

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


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



можно циклом и брать каждый элемент через childNodes(i)
PM MAIL   Вверх
JSman
Дата 23.7.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а можно через XPath, что быстрее. 

Например, в Опере и ИЕ будет так:
xml.documentElement.selectNodes(".//*");

Для Мозилок интересуйтесь сами smile

А потом пробегайте по циклу.

Добавлено через 1 минуту и 15 секунд
Чуть не забыл сказать на будущее: XML в Safari поддерживатеся пока только через Ajax
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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