Получение данных из xml

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
dead_luminor

Получение данных из xml

Сообщение dead_luminor »

Как подгружать во флэш данные из xml?

допустип есть ответ от php файла

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?><response><user><id>user1</id><score>15</score></user><user><id>user2</id><score>12</score></user><id>user3</id><score>12</score></user><id>user4</id><score>12</score></user><id>user5</id><score>12</score></user></response>

как принимать такого рода запросы?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Получение данных из xml

Сообщение bodnar »

Код: Выделить всё

loader = new URLLoader(...);loader.addEventListener(Event.COMPLETE,completeHandler);function completeHandler(e:Event){trace(loader.data);}
dead_luminor

Re: Получение данных из xml

Сообщение dead_luminor »

это я знаю..я не понимаю как конкретно <user>1</user>записать в текстовую строку user_tf. А score записать в <score>1</score> score_tf....
Ведь оно передается куском цельным...
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Получение данных из xml

Сообщение bodnar »

каким куском? может toString() поможет?
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

Re: Получение данных из xml

Сообщение совесть »

Код: Выделить всё

var xmlLoader:URLLoader = new URLLoader();                var xmlData:XML = new XML();                xmlLoader.addEventListener (Event.COMPLETE, LoadXML);                xmlLoader.load (new URLRequest("ТВОЙ ЗАПРОС"));                function LoadXML (event:Event):void                {                for (var i:uint = 0; i < 20; ++i) {tf.text += xmlData.id[i].toString() + "\n";tf.text += xmlData.score[i].toString() + "\n"; }                }



выводим топ 20 пользователей. тебе ведь что-то типа этого надо?
dead_luminor

Re: Получение данных из xml

Сообщение dead_luminor »

выдает ошибку:

Код: Выделить всё

Warning: 3551: Appending text to a TextField using += is many times slower than using the TextField.appendText() method.

вот мой php файл:

Код: Выделить всё

<?php     $db = mysql_connect ("host","baseuser","basepasword");    mysql_select_db("basename",$db);    mysql_query("SET NAMES 'utf8'");     $result = mysql_query("SELECT uid, size from basename order by size desc limit 5",$db);         echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";        echo "<response>";        for ($i=0; $i<mysql_num_rows($myrow);$i++){        $r = mysql_fetch_array($myrow);        echo"<user>";        echo"<id>".$r['id']."</id>";        echo"<score>".$r['score']."</score>";        echo"</user>";}echo "</response>";?>?>
в мускуле две строки id и score
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

Re: Получение данных из xml

Сообщение совесть »

Код: Выделить всё

        for (var i:uint = 0; i < 20; ++i) {tf.text += xml.user[i].uid.toString() + "\n";tf_score.text += xml.user[i].score.toString() + "\n"; }

число 20 меняешь на кол-во людей, которых надо вывести. у меня всё работает.
dead_luminor

Re: Получение данных из xml

Сообщение dead_luminor »

незнаю...((
ну запрос прииходит вот такой от php...но во флеш вставить не могу...на твой код ругается

Код: Выделить всё

<response>    <user>        <id> 1000000</id>        <score> 2147483647</score>    </user>    <user>        <id> 15000000</id>        <score> 454645645</score>    </user></response>
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

Re: Получение данных из xml

Сообщение совесть »

Код: Выделить всё

var xmlData:XML = new XML("<response><user><id>1000000</id><score> 2147483647</score></user><user><id>15000000</id><score>454645645</score></user></response>"); var count: uint = xmlData.user.length();//сколько юзеров нам пришлоfor (var i:uint = 0; i < count; ++i) {trace(xmlData.user[i].uid.toString());trace(xmlData.user[i].score.toString()); }
у меня всё работает
dead_luminor

Re: Получение данных из xml

Сообщение dead_luminor »

почемуто оно выберает на фанарь какой постить, и постит
не все 5, а только 1 почемуто
причем рандомно как-то...

вместо трэйс я сделал сразу в текстовое поле, может из-за этого?

Код: Выделить всё

tf.text=xmlData.user[i].uid.toString();tf2.text=xmlData.user[i].score.toString();
Ответить