Автор Тема: JavaScript: сканирование папок  (Прочитано 16376 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
JavaScript: сканирование папок
« Ответ #15 : 09 Декабря 2003, 15:59:29 »
Цитировать
Leech:
Как прочитать атрибут внутри тега?


Не вдаваясь в подробности...
А разница между атрибутом и еще одним вложенным параметром?


SomeData



SomeData
 attrvalue
работа в Украине

Оффлайн Leech

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript: сканирование папок
« Ответ #16 : 09 Декабря 2003, 16:10:53 »
Yukko
... не понял....

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
JavaScript: сканирование папок
« Ответ #17 : 09 Декабря 2003, 16:21:15 »
попробуй
xmldoc.root.children.item(i).attributes.getNamedItem(\'name\');
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
JavaScript: сканирование папок
« Ответ #18 : 09 Декабря 2003, 16:23:12 »
Yukko


    text
    text1
    text

и


    text
    attrvalue
    text1
    text

Какой из дочерних узлов в данном случае является аттрибутом ? :)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
JavaScript: сканирование папок
« Ответ #19 : 09 Декабря 2003, 17:28:01 »
Макс
Я не к тому... формат хранения данных задаешь ты, ты и решаешь, какому из дочерних узлов какое дать имя, и как интерпретировать его значение. Вот и все, что я хотел сказать.
Поэтому если нет возможности читать атрибуты, но есть возможность менять формат xml файла, то мой способ вполне и вполне катит... (я не сказал сейчас про JavaScript)
работа в Украине

Оффлайн Leech

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript: сканирование папок
« Ответ #20 : 09 Декабря 2003, 17:52:26 »
Макс


Error: Объект не поддерживает это свойство или метод   :((

Код показать?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
JavaScript: сканирование папок
« Ответ #21 : 09 Декабря 2003, 22:56:33 »
Leech
ладно показывай.
Броузер IE ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Leech

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript: сканирование папок
« Ответ #22 : 09 Декабря 2003, 23:14:06 »
Макс
Может, проще через Асю?

Оффлайн Leech

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript: сканирование папок
« Ответ #23 : 09 Декабря 2003, 23:18:36 »
IE 6.0
Вызываем из html функцию viewDocument
function viewDocument(){
   xmldoc.URL = xmlsrc;     // Загрузка XML документа
   parse(xmldoc.root);      // Начало разбора документа
}
Функция parse:
function parse(root){
   if(root==null) return;
   var i=0;
   var elem;
   if(root.children!=null){ // Если вложенные элементы не были определены, то свойство children будет установленно в null
      // Перебор дочерних элементов
      for(i=0;i         elem=root.children.item(i);
         if(root.children.item(i).tagName=="DIR"){
         this.document.writeln(\'Dir="\'+root.children.item(i).attributes.getNamedItem(\'name\')+\'"\');
         }
      }
   }
}

Оффлайн Leech

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript: сканирование папок
« Ответ #24 : 09 Декабря 2003, 23:20:21 »
Чёрт, как вставлять отступы? Чтоб хотя бы код можно было прочитать нормально?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
JavaScript: сканирование папок
« Ответ #25 : 09 Декабря 2003, 23:34:43 »
Leech
Цитировать
Чёрт, как вставлять отступы? Чтоб хотя бы код можно было прочитать нормально?
[off] если код поместить в теги [ code ] твой код [ / code] то отступы сохранятся [/off]
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
JavaScript: сканирование папок
« Ответ #26 : 10 Декабря 2003, 00:18:17 »
Вот упрощенный пример, того что у меня заработало:




test



Вообще почитай мануал к MSXML - там примеров достаточно.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Leech

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript: сканирование папок
« Ответ #27 : 10 Декабря 2003, 12:10:31 »
Ага... работает... с некоторыми изменениями, связанными с тем, что идет подгрузка XML из файла...
вместо
xmldoc.loadXML(xmlstr);
пишем
var xmlsrc = "struct.xml"; xmldoc.load(xmlsrc):
Тока как-то всё странно происходит далее... У меня при входе в функцию parse параметр root равен нулю, что вызывает выход из неё. Хотя если написать обработку ошибок загрузки XML вот в таком виде:

function viewDocument(){
if (xmldoc.load(xmlsrc)) {
alert(\'Load XML done\');
}else{
alert(\'Load XML error\');
}
parse(xmldoc.documentElement);
}

то, после того, как выскочит алерт "Load XML done", дальнейшая обработка происходит без проблем, т.е. параметр root не равен нулю... Интересно получается? Прям какой-то волшебный алерт :)
  Макс, если интересно, могу кинуть по Асе урлу, где это всё выложено...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
JavaScript: сканирование папок
« Ответ #28 : 10 Декабря 2003, 14:43:32 »
Цитировать
Макс, если интересно, могу кинуть по Асе урлу
нет, спасибою у меня есть занятия поинтереснее.
Поведение конечно странное. У тебя XML well-formed ?
И почитай доку по MSXML по объекту parseError

Еще возможно, это связано с тем что XML не успевает подгрузиться.
Проверяй свойство readyState. Пример из мануала:
Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28