Страница 1 из 3
Получение данных из xml
Добавлено: 24 май 2010, 23:35
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>
как принимать такого рода запросы?
Re: Получение данных из xml
Добавлено: 25 май 2010, 05:02
bodnar
Код: Выделить всё
loader = new URLLoader(...);loader.addEventListener(Event.COMPLETE,completeHandler);function completeHandler(e:Event){trace(loader.data);}
Re: Получение данных из xml
Добавлено: 25 май 2010, 07:53
dead_luminor
это я знаю..я не понимаю как конкретно <user>1</user>записать в текстовую строку user_tf. А score записать в <score>1</score> score_tf....
Ведь оно передается куском цельным...
Re: Получение данных из xml
Добавлено: 25 май 2010, 09:47
bodnar
каким куском? может toString() поможет?
Re: Получение данных из xml
Добавлено: 25 май 2010, 14:01
совесть
Код: Выделить всё
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 пользователей. тебе ведь что-то типа этого надо?
Re: Получение данных из xml
Добавлено: 25 май 2010, 18:10
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
Re: Получение данных из xml
Добавлено: 25 май 2010, 23:57
совесть
Код: Выделить всё
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 меняешь на кол-во людей, которых надо вывести. у меня всё работает.
Re: Получение данных из xml
Добавлено: 26 май 2010, 12:43
dead_luminor
незнаю...((
ну запрос прииходит вот такой от php...но во флеш вставить не могу...на твой код ругается
Код: Выделить всё
<response> <user> <id> 1000000</id> <score> 2147483647</score> </user> <user> <id> 15000000</id> <score> 454645645</score> </user></response>
Re: Получение данных из xml
Добавлено: 26 май 2010, 14:55
совесть
Код: Выделить всё
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()); }
у меня всё работает
Re: Получение данных из xml
Добавлено: 26 май 2010, 16:32
dead_luminor
почемуто оно выберает на фанарь какой постить, и постит
не все 5, а только 1 почемуто
причем рандомно как-то...
вместо трэйс я сделал сразу в текстовое поле, может из-за этого?
Код: Выделить всё
tf.text=xmlData.user[i].uid.toString();tf2.text=xmlData.user[i].score.toString();