Ghô, XML in Flash is tegenwoordig echt wel kinderspel:
var getXML:URLLoader=new URLLoader();
var xmlDink:XML=new XML();
var styles=new StyleSheet();
styles.setStyle("a:hover", {color:'#dd0000'});
getXML.addEventListener(Event.COMPLETE, LoadXML);
getXML.load(new URLRequest("https://blog.zog.org/feed/"));
function LoadXML(e:Event):void {
xmlDink=new XML(e.target.data);
var itemList:XMLList=xmlDink.channel.item;
var inhoud:String="";
for each (var item:XML in itemList) {
inhoud+="<a href='"+item.link.text()+"'>"+item.title.text()+"</a> // ";
}
dink_txt.htmlText=inhoud;
dink_txt.styleSheet=styles;
}
…en dat geeft, hoera:
Leve programmeren! Zo fantastisch als het zonder enige miserie gaat, en als alles doet wat men ervan verwacht! Nu moet ik alleen nog wat layout smurfen, en WordPress de juiste XML laten uitspugen, en alles is klaar! Hoera! I’m so happy!
Kijk maar, zo ziet het eruit in het echt — nog geen twintig lijntjes om een xml-file (in dit geval de rss-feed van mijn weblog) in te lezen en te tonen met wat css erop, machtig.
…ah. Toch niet. Ça ne marche pas. Waarom niet? Geen idee. Time-out, ergens? Actionscript 3–problemen? Misschien. Iets anders? Wellicht.
Awoert programmeren! Hatelijke zever, als het niet doet wat het zou moeten doen en als ik er niet genoeg van afweet om te achterhalen wat er aan de hand is! Bah! Kloterij!
Ahem. 🙂
Reacties
3 reacties op “XML en Flash en dingen”
crossdomain.xml ontbreekt 🙂
Als je uit een ander domein of subdomein wil data halen, dan moet op dat domein (waar je je data ophaalt ) een crossdomain.xml zetten met alle domeinen die die data mogen ophalen. Ook wel SandBox Security Error genoemd. Het is sinds Flash MX ( 6 ) ingevoerd om te vermijden dat men data malafide kon manipuleren vanop een andere website …
Miljaar. Bedankt. Het werkt!
Crossdomain is echt stront. Je kan bijvoorbeeld geen data inlezen van een ander domein, tenzij er een crossdomain.xml op staat. Images en video van een ander domein inladen lukt wel. Tenzij je dan leuke dingen met die images wil gaan doen. Dan lukt het weer niet meer.
Damn you Adobe!