Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Статьи (http://www.flasher.ru/forum/forumdisplay.php?f=101)
-   -   ActionScript 3 с нуля (http://www.flasher.ru/forum/showthread.php?t=92301)

DRAGOnoid 18.10.2007 14:06

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

var xml:XML = <foo valie="123">
<node value="222">
<node2 value="444" />
<node3>
<[CDATA[какой нить HTML]]>
</node3>
</node>
</foo>;

в итоге не совсем понятно когда
xml.node - вернёт XMLList;
а когда xml.node.node3 - XML

чтобы обойти такой случай обычно извращаюсь
var new_xml:XMLList = xml.node.node3.toXMLString();

писал по памяти но примерно так это выглядело.

etc 18.10.2007 14:11

Там может быть либо XMLList, либо XML. Других вариантов нет. toXMLString возвращает String, в данном случае надо было юзать toString().
См. тест на предыдущей странице и оцени разницу с типизацией или без.

DRAGOnoid 18.10.2007 14:23

да работает чуть быстрее =) всётаки на фоне 10.000.000 операций 560 и 40 не велика разница ;) ладно всёравно луче использовать хотя бы для того чтобы понимать какого типа данная переменная...
про XMLList и XML это пример просто - помню просто были ещё подобные случаи когда например в класс передаю строку а иногда не хочу ничего передавать и пишу null и тогда кричит (ну или что то подобное - я реально щас уже не вспемню)

ладно вернёмся к пакетам - я тут пошаманил и получилось чтобы заработал пкет типа Проект.Окно.Раздел
надо внутри
Проект\Окно.as
написать
import Проект.Окно.*;
жаль что обычный
import Проект.*;
неработает.

а внутри
Проект\Окно\Раздел.as
написать
package Проект.Окно {
...
}

всё правильно? по другому никак?

DRAGOnoid 18.10.2007 15:09

а вот такой шутки я вообще не понял.
щас сижу пишу, правлю XML и чпок ошибка!
TypeError: Error #1088: The markup in the document following the root element must be well-formed

ну думаю как обычно бывает - где то что то нето напичатал, смотрю ищю - ничего не нашёл. Стал разбирать по нодам.. работает, добавля, работает, ещё добавляю... и так до последнего...
ахха значит ошибка в ноде думаю - ошибку не нашёл!
а потом до меня дошло - а может это типа XML слишком большой - всётаки 5кб!

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

       
<body>
..........
<category/>
<category/>
<category/>
</body>tStream

иногда показывает NetStream. ОТКУДА???

вот как я грузил XML
Код:

package {
        import flash.events.*;
        import flash.system.*;
        import flash.net.*;
        import flash.xml.*;
       
        public class XmlLoader {
                private        var loader:URLLoader;       
                public        function XmlLoader        ():void {
                        System.useCodePage= true;
                }
                public function loadXmlTo        (url:String):void {                       
                        this.loader        = new URLLoader();
                        configureListeners        (this.loader);                       
                        var request:URLRequest= new URLRequest(url);
                        this.loader.load        (request);
                }
                // конфигурация
                private function configureListeners(dispatcher:IEventDispatcher):void {
                        dispatcher.addEventListener(Event.COMPLETE, completed);
                }       
                // загрузилось
                private function completed        (event:Event):void {
                        //this.xml = new XML(event.target.data);
                        trace (this.loader.data);
                }
        }       
}


etc 18.10.2007 15:11

Код:

System.useCodePage= true;
За это убивать надо.

DRAGOnoid 18.10.2007 15:14

почемуу? Т__Т
а как же мне тогда избавляться от глюков с кодировкой?

etc 18.10.2007 15:15

Использовать utf-8 в качестве кодировки. Всегда и везде, при любых обстоятельствах.
А не думать о левых win-кодировках.

DRAGOnoid 18.10.2007 15:21

блин я уже не смогу перевести огроменный XML который сам же руками порой и правлю и систему которая этот XML генерит весь в UTF-8

а других способов нет? =(

etc 18.10.2007 15:26

Почему не сможешь?

DRAGOnoid 18.10.2007 15:53

ну щас для теста я пишу на Notepad++ а там невижу как перевести в UTF-8.
сам PHP который генерит XML - выдаёт данные в виде echo (вопрос уже не ко мне)
короче сложно будет очень (


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

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