Det jag vill ha ut (och som skall läggas i en flash):
Informationen inom taggarna: date, destination och sedan
priset som står inom oneweeks, twoweeks eller threeweeks-tag.
Det här skall göras till typ bildspel, där man visar ett erbjudande
åt gången. Någon som har tips på vart man skall kolla och hur man
kan bygga upp det?
Dum fråga... varför använda ASP när Flash har stöd för XML?
class trip
{
public var date:String;
public var destination:String;
public var hotel:String;
...
public function trip(d:String, a:String, t:String)
{
date = d;
destination = a;
hotel = t;
}
}
var sa:Array = new Array();
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function()
{
var nodes:Array = this.firstChild.childNodes;
for(var i=0;i<nodes.length;i++)
{
sa.push(new trip(nodes[i].attributes.date, nodes[i].attributes.destination, nodes[i].attributes.hotel));
}
}
xml.load("songs.xml");
for(var i:Number = 0;i<sa.length();i++)
{
//trackInfo.text = sa[i].date + " - " + sa[i].hotelk;
}
men jag får inte fram priset me den koden va? jag har ju 3 olika..
oneweek, twoweek, threeweek att hämta priset ifrån...
och hur laddar man in informationen i flash i omgångar för att få
denna bildspelseffekt?
kan väl erkänna att jag är en nybörjare på att scripta i
flash medans vi ändå håller på... så jag antar att man skapar
en separat keyframe där koden du skrev läggs in...
sen hur man skall anropa funktionen och sånt har jag faktiskt
ingen större aning om... Man kan tänka mig att man gör en textruta
som man namnger och sätter till dynamisk?
det är bara att lägga in i klassen twoweek osv... den kod jag bifogat är en array som heter "sa"
Informationen kommer in i SA arrayn så fort vi kör "onload" på xml variablen.
Mitt tips är att du läser i Flash hjälp fil hur man använder XML klassen.
Nej, det är ett xml-dokument, oavsett filändelse. Är det så att din flash inte körs på apollo.se? Det måste den göra. Om så inte är fallet får du skapa en sida (t.ex. i asp) på din server som hämtar innehållet från Apollo och sedan skickar det vidare.
jag kopierade allt innehåll i länken jag skickat...
och då fick jag ju även med - längst ute till vänster
på varje <offer>-tagg.
klistrade in det i ett dokument, tog bort "-" längst till
vänster, efter det så fungerade det... sen om det är
orsaken till varför det inte fungerar vet jag inte..
men något jag vet är att det inte fungerar just nu.. :P
gjort precis som det står där... får ut samma kod i min asp-fil som apollos
och som jag sedan loadar i flash... där tar det stopp... den hämtar inte fram
någonting alls. :(
Hmm, menar du "-" som Firefox och IE lägger till själva? Dom visas bara för att du, när du tittar på sidan, ska kunna minimera block som du vill. Prova att klicka på ett "-" så ser du. Om du däremot sparar sidan som ett xml-dokument och tittar på det i en texteditor (inte notepad/anteckningar för den klarar inte av att rendera radbryt ordentligt) så finns det inga "-" :) Var det inte dom minusen du menade så får du förklara lite mer!
XML struktur är inte med -<option> exempel.. det är så IE eller Firefox lägger in för att du ska lättare kunna se strukturen i ett XML dokument. Om du visar källkoden i ett XML dokument så får du den rätta strukturen på XMLen
Fungerade som sagt bra med en lokal xml-fil med samma innehåll..
// The first step is to activate the XML object
headlineXML = new XML();
/*
With the XML Object now active you must now load an XML foramtted document.
Any DTD or XLS formatting will be ignored.
*/
headlineXML.onLoad = myLoad;
headlineXML.load("xmlkod.asp");
// Before proceeding to far into the program, make sure the XML document has loaded
// Extract information from the XML file
function myLoad(ok) {
if (ok == true) {
Publish(this.firstChild);
}
}
function Publish(HeadlineXMLNode) {
if (HeadlineXMLNode.nodeName.toUpperCase() == "OFFERS") {
content = "";
offer = HeadlineXMLNode.firstChild;
while (offer != null) {
if (offer.nodeName.toUpperCase() == "OFFER") {
thedate = "";
destination = "";
oneweek = "";
element = offer.firstChild;
while (element != null) {
if (element.nodeName.toUpperCase() == "DATE") {
thedate = element.firstChild.nodeValue;
}
if (element.nodeName.toUpperCase() == "DESTINATION") {
destination = element.firstChild.nodeValue;
}
if (element.nodeName.toUpperCase() == "ONEWEEK") {
oneweek = element.firstChild.nodeValue;
}
if (element.nodeName.toUpperCase() == "TWOWEEKS") {
twoweeks = element.firstChild.nodeValue;
}
if (element.nodeName.toUpperCase() == "THREEWEEKS") {
threeweeks = element.firstChild.nodeValue;
}
element = element.nextSibling;
}
content += ""+thedate+"<br><font size='+1'>"+destination+"</font><br>Endast "+oneweek+""+twoweeks+""+threeweeks+":-<br><br>";
txt.htmltext=content;
}
offer = offer.nextSibling;
}
}
}
asp-fil: hämtar information från apollos xml och skriver ut informationen
swf-fil: koden som är postad här över och som loadar asp-filen med informationen
och båda dessa filer ligger på en webbserver som stödjer asp + xmlhttp.
267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2