Вызовите элементы XML через flash на основе даты - PullRequest
0 голосов
/ 28 марта 2012

У меня есть флэш-анимация Health Tips, которую я хочу показывать по одному совету каждый день. Я создал XML с 365 пунктов по одному на каждый день. Теперь я хочу связать свою вспышку с xml, чтобы получить правильный совет для определенного дня.

Я создал XML, используя два метода ... какой из них вы считаете лучшим?

<data>

<Tip date="28/03/2012" title="Start your day with breakfast." description="Breakfast fills your empty tank to get you going after a long night without food. "/>

</data>

И другой XML

<data>
<title name="Start your day with breakfast.">
    <description>Breakfast fills your "empty tank" to get you going after a long night without food. </description>
</title>

<title name="Eat more grains, fruits and vegetables.">
    <description>These foods give you carbohydrates for energy, plus vitamins, minerals and fiber. Besides, they taste good! Try breads such as whole-wheat, bagels and pita. </description>
</title>

</data>

Теперь мне нужно закодировать мой флэш-фильм, чтобы он заработал, но, к сожалению, не знаю как.

Я начал с некоторых базовых вещей:

var my_date:Date = new Date();

var months:Array = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];

var dateStr = ((months[my_date.month]).toString())+"_"+ my_date.date.toString()+"_"+ my_date.fullYear.toString();

//Create the loader, set dataFormat to text 
var loadFile:URLLoader = new URLLoader()
loadFile.dataFormat = URLLoaderDataFormat.TEXT
loadFile.addEventListener(Event.COMPLETE, onLoadXML)
loadFile.load(new URLRequest("flash1.xml"));
function onLoadXML(ev:Event){
try{
    //Convert the downloaded text into an XML
    var myXML:XML = new XML(ev.target.data)
    var list:XMLList = myXML..title
    //walks the list and show in textfields
    for(var i=0; i<list.length(); i++){
        //trace(list[i].@name+"-"+list[i].comments+" - "+list[i].image)
    this["Title_txt"+i].text = list.@title
    this["description_txt"+i].text = list.description


    }
} catch (e:TypeError){
    //Could not convert the data
    trace("Could not parse the XML")
    trace(e.message)
}
}

Я не могу заставить его работать должным образом, поэтому прошу помощи. Пожалуйста, помогите мне решить проблему с датой и кодом as3.

Спасибо и жду вашего ответа

Helen

1 Ответ

0 голосов
/ 28 марта 2012

Почему бы не использовать for each цикл вместо обычного for?Кроме того, var list:XMLList=myXml.title достаточно хорош...title не требуется.

function onLoadXML(ev:Event){
try{
    //Convert the downloaded text into an XML
    var myXML:XML = new XML(ev.target.data);
    var list:XMLList = myXML.title;
    //walks the list and show in textfields
    for each(var title:XML in list){
        this["Title_txt"+i].text = title.@name
        this["description_txt"+i].text = title.description;
    }
} catch (e:TypeError){
    //Could not convert the data
    trace("Could not parse the XML")
    trace(e.message)
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...