Форум 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=94231)

neFX 07.04.2007 10:51

атрибуты XML помогите разобраться
 
Здрасте всем. Вот сижу всё утро экспериментальным путем пытаюсь вывести значение атрибута name в одном из нодов, и везде получаю undefinded .. если не трудно укажите мне на ошибку..
Код:

as2
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("primer.xml");
myXML.onLoad = function(success)
{
  if(success == true)
  {
        var zag_mas = myXML.firstChild[0].firstChild[0].attributes;
        zag = zag_mas[name];
    }
}

Код:

XML
<data>
<razdel id="1" name="Попить" >
        <podrazdel id="2" name="Чай и кофе" >
        <podrazdel id="3" name="Пиво и водка" >
        </podrazdel>
</razdel>
</data>


screamge 07.04.2007 11:00

Код:

myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("primer.xml");

myXML.onLoad = function(success){
  if(success){
        var zag_mas:XMLNode = myXML.firstChild.firstChild;
        trace (zag_mas.childNodes[0].attributes._name) // выведет "Чай и кофе"
    }
}





Код:

<data>
        <razdel id="1" name="Попить">
                <podrazdel id="2" _name="Чай и кофе" />
                <podrazdel id="3" _name="Пиво и водка" />
        </razdel>
</data>


не тестил но должно работать

да и XML нужно менять кодировку на UTF-8 и не забывать писать в нём:
Код:

<?xml version="1.0" encoding="UTF-8"?>

neFX 07.04.2007 11:16

да вроде всё так но выдаёт undefined

screamge 07.04.2007 11:17

а вы код xml тоже поменяли?

neFX 07.04.2007 11:21

Код:

<?xml version="1.0" encoding="UTF-8"?>
<data>
        <razdel id="1" name="Попить">
                <podrazdel id="2" _name="Чай и кофе" />
                <podrazdel id="3" _name="Пиво и водка" />
        </razdel>
</data>


Kikasso 07.04.2007 11:25

Ну так трейсь все подряд:
Код:

myXML.onLoad = function(success){
  if(success && this.status == 0){
        trace (node = this.firstChild);
        trace("----------------------");
        trace (node = node.firstChild);
        trace("----------------------");
        trace (node.firstChild);
    }else{
        trace ("ЕГГОГ: " + this.status);
  }
}


screamge 07.04.2007 11:29

Вложений: 1
и что у вас не получилось?

neFX 07.04.2007 11:30

а где тут атрибуты)..

screamge 07.04.2007 11:32

а они там не нужны, вставьте поймёте...
to kikasso, а не проще просто трейсить первый чайлднод?:)

DanQuimby 07.04.2007 11:34

знаеш что такое
Debug и BreakPoint ??
ставь бряку и смотри
и не парь мозги всем подряд :(

screamge 07.04.2007 11:36

вообще цитирования это хорошая штука, эт кому?

neFX 07.04.2007 11:42

Вложений: 1
DanQuimby
не знаю чо такое Debug и BreakPoint, тут же вроде раздел для новичков?..
----------
гляньте плз исходник.. можт там какая нить тупость.. на всё у меня выдаёт undefinded

screamge 07.04.2007 11:46

прочтите пост 2 ещё раз, спецально выделил жёлтым

neFX 07.04.2007 11:49

ну так есть такая строчка в моём XML ... или я можт чо не понимаю !

screamge 07.04.2007 11:51

нужно менять кодировку а не только прописывать строчку.
открываете файл notepade - ом и внизу меняете ANSI на UTF-8, всё ваш пример начинает работать

neFX 07.04.2007 22:35

с подгрузкой разобрался, и возникла непонятная проблема :
пытаюсь вставить уже полученную из XML переменную в код
Код:

loadMovie(""+myVar,"POST")
// путь кароче не прописывается, выдаёт undefinded , с чем это может быть связано?

etc 07.04.2007 22:46

С тем, что переменная, судя по всему, не получена.

neFX 07.04.2007 23:11

думаю получена т.к. в текстовое поле она выводится..

screamge 07.04.2007 23:23

Цитата:

Сообщение от neFX
Код:

loadMovie(""+myVar,"POST")

а что эта строчка значит, ты подгружаещь что-то на левел "POST"?

neFX 07.04.2007 23:52

ну вообще я указываю путь куда подгружаю ..а POST это типа метод)... вообщем если воткнуть обычную переменную всё работает!

screamge 08.04.2007 00:04

вот во ткн...в классе loadMovie нет метода "пост", "сенд", "лоад" и т.д.

снтаксис такой: loadMovie ("name.swf", 1//уровень стёка документа)

etc 08.04.2007 00:08

neFX, откройте справку по loadMovie.
А показ переменной в текстовом поле не показатель, ибо это событие может произойти намного позже, чем вызов loadMovie.


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

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