Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

dynamic to load text & image from XML. How ?

Guest
Apr 24, 2013 Apr 24, 2013

Hello,

I have the code below to display some text and image on the screen how to modify the code to make it more dynamic:

var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);

// Add Title

rssNews.rss1.title1.text = xmlData.news[0].title;

rssNews.rss2.title2.text = xmlData.news[1].title;

rssNews.rss3.title3.text = xmlData.news[2].title;

rssNews.rss4.title4.text = xmlData.news[3].title;

rssNews.rss5.title5.text = xmlData.news[4].title;

rssNews.rss6.title6.text = xmlData.news[5].title;

rssNews.rss7.title7.text = xmlData.news[6].title;

rssNews.rss8.title8.text = xmlData.news[7].title;

rssNews.rss9.title9.text = xmlData.news[8].title;

rssNews.rss10.title10.text = xmlData.news[9].title;

// Add Description

rssNews.rss1.text1.text = xmlData.news[0].description;

rssNews.rss2.text2.text = xmlData.news[1].description;

rssNews.rss3.text3.text = xmlData.news[2].description;

rssNews.rss4.text4.text = xmlData.news[3].description;

rssNews.rss5.text5.text = xmlData.news[4].description;

rssNews.rss6.text6.text = xmlData.news[5].description;

rssNews.rss7.text7.text = xmlData.news[6].description;

rssNews.rss8.text8.text = xmlData.news[7].description;

rssNews.rss9.text9.text = xmlData.news[8].description;

rssNews.rss10.text10.text = xmlData.news[9].description;

// Add Title

var myLoader:Loader = new Loader();

var fileRequest:URLRequest = new URLRequest(xmlData.news[0].image);

myLoader.load(fileRequest);

rssNews.rss1.image1.addChild(myLoader);

var myLoader2:Loader = new Loader();

var fileRequest2:URLRequest = new URLRequest(xmlData.news[1].image);

myLoader2.load(fileRequest2);

rssNews.rss2.image2.addChild(myLoader2);

var myLoader3:Loader = new Loader();

var fileRequest3:URLRequest = new URLRequest(xmlData.news[2].image);

myLoader3.load(fileRequest3);

rssNews.rss3.image3.addChild(myLoader3);

var myLoader4:Loader = new Loader();

var fileRequest4:URLRequest = new URLRequest(xmlData.news[3].image);

myLoader4.load(fileRequest4);

rssNews.rss4.image4.addChild(myLoader4);

var myLoader5:Loader = new Loader();

var fileRequest5:URLRequest = new URLRequest(xmlData.news[4].image);

myLoader5.load(fileRequest5);

rssNews.rss5.image5.addChild(myLoader5);

var myLoader6:Loader = new Loader();

var fileRequest6:URLRequest = new URLRequest(xmlData.news[5].image);

myLoader6.load(fileRequest6);

rssNews.rss6.image6.addChild(myLoader6);

var myLoader7:Loader = new Loader();

var fileRequest7:URLRequest = new URLRequest(xmlData.news[6].image);

myLoader7.load(fileRequest7);

rssNews.rss7.image7.addChild(myLoader7);

var myLoader8:Loader = new Loader();

var fileRequest8:URLRequest = new URLRequest(xmlData.news[7].image);

myLoader8.load(fileRequest8);

rssNews.rss8.image8.addChild(myLoader8);

var myLoader9:Loader = new Loader();

var fileRequest9:URLRequest = new URLRequest(xmlData.news[8].image);

myLoader9.load(fileRequest9);

rssNews.rss9.image9.addChild(myLoader9);

var myLoader10:Loader = new Loader();

var fileRequest10:URLRequest = new URLRequest(xmlData.news[9].image);

myLoader10.load(fileRequest10);

rssNews.rss10.image10.addChild(myLoader10);

// Add URL

rssNews.rss1.info1.addEventListener(MouseEvent.CLICK, rss01);

rssNews.rss2.info2.addEventListener(MouseEvent.CLICK, rss02);

rssNews.rss3.info3.addEventListener(MouseEvent.CLICK, rss03);

rssNews.rss4.info4.addEventListener(MouseEvent.CLICK, rss04);

rssNews.rss5.info5.addEventListener(MouseEvent.CLICK, rss05);

rssNews.rss6.info6.addEventListener(MouseEvent.CLICK, rss06);

rssNews.rss7.info7.addEventListener(MouseEvent.CLICK, rss07);

rssNews.rss8.info8.addEventListener(MouseEvent.CLICK, rss08);

rssNews.rss9.info9.addEventListener(MouseEvent.CLICK, rss09);

rssNews.rss10.info10.addEventListener(MouseEvent.CLICK, rss10);

function rss01(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[0].url));

}

function rss02(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[1].url));

}

function rss03(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[2].url));

}

function rss04(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[3].url));

}

function rss05(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[4].url));

}

function rss06(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[5].url));

}

function rss07(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[6].url));

}

function rss08(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[7].url));

}

function rss09(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[8].url));

}

function rss10(e:MouseEvent):void

{

          navigateToURL(new URLRequest(xmlData.news[9].url));

}

Regards,

TOPICS
ActionScript
1.1K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Apr 24, 2013 Apr 24, 2013

use:


var xmlList:XMLList;

var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);

xmlList = xmlData.news;

for(var i:int=0;i<xmlList.length();i++)

{

               rssNews["rss"+(i+1)]["title"+(i+1)].text = xmlList.title;

               rssNews["rss"+(i+1)]["text"+(i+1)].text = xmlList.description;

rssNews["rss"+(i+1)]["image"+(i+1)].loader=new Loader();  // if the compiler complains, cast rssNews["rss"+(i+1)]["image"+(i+1)] as a movieclip.  ie:  MovieClip(rssNews["rss"+(i+1)]["image"+(i+1)]).loade

...
Translate
Community Expert ,
Apr 24, 2013 Apr 24, 2013

i don't see where you're displaying any of the loaded images and it's not clear how you want to do that.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Apr 24, 2013 Apr 24, 2013

i display it in a MovieClip name image1 which inside another MovieClip name rss1...

Ok, I have MovieClip with a name of "rssNews" which has another multi MovieClip named from "rss1" to "rss10". each one of this MovieClips "rss1" for example have 4 MovieClips inside it the firts is "title1" to display the title, the secound "text1" to display the description, the third "info1" to NavigateToURL & the last one "image1" to display the image...

Lets start with the display titles only using For statment


var xmlList:XMLList;

var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);

xmlList = xmlData.news;

for each (var grade:XML in xmlList)

{

               rssNews.rss1.title1.text = xmlData.news[0].title;

}

How to do that same with each title or i have to use add rss1 to rss10 into array with the name of rss and do the same to title...?!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 24, 2013 Apr 24, 2013

use:


var xmlList:XMLList;

var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);

xmlList = xmlData.news;

for(var i:int=0;i<xmlList.length();i++)

{

               rssNews["rss"+(i+1)]["title"+(i+1)].text = xmlList.title;

               rssNews["rss"+(i+1)]["text"+(i+1)].text = xmlList.description;

rssNews["rss"+(i+1)]["image"+(i+1)].loader=new Loader();  // if the compiler complains, cast rssNews["rss"+(i+1)]["image"+(i+1)] as a movieclip.  ie:  MovieClip(rssNews["rss"+(i+1)]["image"+(i+1)]).loader

rssNews["rss"+(i+1)]["image"+(i+1)].loader.load(new URLRequest(xmlList.url));

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Apr 24, 2013 Apr 24, 2013

Thanks kglad, the Title & the description work fine but the image does not display at all.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 24, 2013 Apr 24, 2013
LATEST

like i mentioned in my first message, you're not displaying any images and it's not clear how you want to display them.  but if you want to display them all, just add the loader to the display list:

var xmlList:XMLList;

var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);

xmlList = xmlData.news;

for(var i:int=0;i<xmlList.length();i++)

{

               rssNews["rss"+(i+1)]["title"+(i+1)].text = xmlList.title;

               rssNews["rss"+(i+1)]["text"+(i+1)].text = xmlList.description;

rssNews["rss"+(i+1)]["image"+(i+1)].loader=new Loader();

addChild(rssNews["rss"+(i+1)]["image"+(i+1)].loader);

rssNews["rss"+(i+1)]["image"+(i+1)].loader.load(new URLRequest(xmlList.url));

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines