Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как узнать количество узлов в xml (http://www.flasher.ru/forum/showthread.php?t=79336)

rockafella 06.05.2006 14:23

Как узнать количество узлов в xml
 
Добрый день.
Мне надо загрузить XML файл c сервера, при этом мне надо знать количество узлов чтобы создать обьекты в соответствии с их количеством.

Например
myXML.childNodes[0].childNodes[i].childNodes[0]

Как узнать сколько элементов в childNodes[i]?

Reijii 06.05.2006 14:46

help посмотреть и все там узнать, присмотрется к свойству length

iNils 06.05.2006 15:10

Код:

...childNodes[i].childNodes.length

rockafella 06.05.2006 15:43

2 iNils

А я писал вот так,

..childNodes[i].childNodes[0].length

Поэтому trace и возвращал undefined.

Спасибо, а то я понять не мог почему length не возвращает число

Homo Sapiens 06.05.2006 20:53

По поводу undefined - вполне возможно, что в твоём примере childNodes[i].childNodes[0] - текстовый узел, который не является массивом, поэтому length и возвращал undefined. Если бы он содержал другие узлы, length возвращал бы их количество.

iNils 06.05.2006 21:04

Цитата:

Сообщение от Homo Sapiens
По поводу undefined - вполне возможно, что в твоём примере childNodes[i].childNodes[0] - текстовый узел, который не является массивом, поэтому length и возвращал undefined. Если бы он содержал другие узлы, length возвращал бы их количество.

Хелп
Цитата:

childNodes - Совокупность (только для чтения), возвращает массив указанных дочерних записей объекта XML
массив!!! обращение childNodes[0] даст обращение к элементу массива. И даже если это текстовый узел, то все равно надо еще раз указывать childNodes[0] или firstChild.

Код:

xmlG = new XML ("<n>qwe</n>");
trace (xmlG.childNodes + " len=" + xmlG.childNodes.length);
// <n>qwe</n> len=1
trace (xmlG.childNodes[0].childNodes + " len=" + xmlG.childNodes[0].childNodes.length);
// qwe len=1
trace (typeof xmlG.childNodes[0].childNodes[0] + " > " +xmlG.childNodes[0].childNodes[0]);
// object > qwe
trace (typeof xmlG.childNodes[0].childNodes[0].nodeValue + " > " +xmlG.childNodes[0].childNodes[0].nodeValue);
// string > qwe


KPaul 06.05.2006 21:14

Можно просто использовать доступные API, например:
XMLObject - http://www.sephiroth.it/file_detail.php?id=134
XPath - http://xfactorstudio.com/
Возможно, в голову придет грамотная реализация апплика, используя эти инструменты.

Homo Sapiens 06.05.2006 22:01

2 iNils Читал не однократно. Просто не вижу других причин, почему length может быть не определена...

iNils 06.05.2006 22:41

Цитата:

Сообщение от Homo Sapiens
2 iNils Читал не однократно. Просто не вижу других причин, почему length может быть не определена...

Читай второй пост.

Homo Sapiens 07.05.2006 12:10

Блин, точно, ступил...


Часовой пояс GMT +4, время: 09:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.