Просмотр полной версии : XML объясните на пальцах, плз
littleannika
19.04.2007, 17:26
Никогда не работала с флеш-скриптом, поэтому не догоняю:
Что конкретно нужно сделать с XML-файлом, чтобы прочитать значения из нод (и поместить в текст во флеш)?
В хелпе есть только описания функций и т.п., а как использовать - не понятно.
Помогите, пожалуйста, разобраться.
А вы не пробовали по этим функциям потыкать?
Там же примеры есть, даже не на пальцах
http://livedocs.adobe.com/flash/8/main/00002876.html#wp516988
0xFFFFFF
19.04.2007, 17:42
http://www.artlebedev.ru/tools/technogrette/etc/flash-xml/
screamge
19.04.2007, 17:46
http://fordesign.info/547_0_144.html
littleannika
19.04.2007, 17:51
Flash script:
var my_xml:XML = new XML();
my_xml.load("xml.xml");
my_xml.ignoreWhite = true;
trace(my_xml.firstChild.nodeName);
XML:
<?xml version="1.0" encoding="windows-1251"?>
<root><name>Burj Dubai</name></root>
Результат: undefined
1. Где искать баг?
2. Как достучаться до значения с теге name? - my_xml.firstChild.firstChild.nodeValue ?
1. В том, что загрузка асинхронная с кодом и не происходит сразу после того, как написано load. Для этого сущствует метод onLoad у XML.
2. См. выше.
screamge
19.04.2007, 17:57
1. ignoreWhite должен быть до load.
2. кодировка документа должна быть в UTF-8
littleannika
19.04.2007, 18:00
Как с onLoad-ом работать?
http://livedocs.macromedia.com/flash/8/main/00002876.html
onLoad надо - это принимает как бы данные
а load тоже надо, это посылает :)
screamge
19.04.2007, 18:10
кстати onLoad тоже желательно ставить до load
littleannika
19.04.2007, 18:13
А может кто-нибудь просто кусочек кода написать, где будет загружаться xml из файла (уже готового и закачанного)?
Хелп мне не понятен абсолютно в этом плане...
littleannika
19.04.2007, 18:15
onLoad - это своя функция, которая запускается сразу после загрузки?
screamge
19.04.2007, 18:17
нет, onLoad это событие стартующее после загрузки файла. А что вы привяжите на это событие дело ваше.
littleannika
19.04.2007, 18:53
Есть у меня во флешке какой-то текст, на слой к которому я повесила скрипт.
Вот такой код его меняет на "Name N 1":
this.Property_name.text="Name N 1";
Как записать в этот текст значение ноды из XML ?
var my_xml:XML = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad=function(success:Boolean){
if (success) {
trace(my_xml.firstChild.firstChild.firstChild.nodeValue);
this.Property_name.text=my_xml.firstChild.firstChild.firstChild.nodeValue;
}
}
my_xml.load("xml.xml");
XML:
<?xml version="1.0" encoding="UTF-8"?>
<root><name>Burj Dubai</name></root>
screamge
19.04.2007, 18:56
сейчас привяжу исходник
littleannika
19.04.2007, 19:03
trace(my_xml.firstChild.firstChild.nodeValue); пишет "Null"
а trace(my_xml.firstChild.firstChild.firstChild.nodeValue); - Burj Dubai
тексту вообще все по барабану
screamge
19.04.2007, 19:06
вот один из вариантов
littleannika
19.04.2007, 19:10
Т.е. лучше значения в атрибуты помещать?
0xFFFFFF
19.04.2007, 19:12
trace(this.Property_name) : )
0xFFFFFF
19.04.2007, 19:13
внутри функции onLoad this - это текущий объект - xml загруженный.
littleannika
19.04.2007, 19:26
угу "this." явно лишний)
littleannika
19.04.2007, 19:37
Спасибо всем огромное!
(Буду думать, как закачивать в флешку фотку, ждите новых вопросов, гыгы)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.