Avatar billede flashlite Nybegynder
25. januar 2008 - 15:46 Der er 1 løsning

Hente attributes med actionscript

Nok et lille spørgsmål:
Jeg sidder nu med et lilleprojekt hvor jeg henter noget data ind fra rss til et xml_doc i flash.

Resultat af xml_doc:
<rss version="2.0">
  <channel>
    <title>Irrelevant data</title>
    <link>http://Irrelevant data/</link>
    <description>Irrelevant data</description>
    <language>da</language>
    <lastBuildDate>Fri, 25 Jan 2008 14:40:11 GMT</lastBuildDate>
    <docs>http://Irrelevant data</docs>
    <generator>Irrelevant data1</generator>
    <numberOfRows xmlns="Irrelevant data/" />
    <rssid xmlns="http://Irrelevant data/">2008-01-25T14:40:11+01:00</rssid>
    <player xmlns="http://Irrelevant data/" />
    <item>
      <title>Test på Splash og Thumbs og en af de lange tekster</title>
      <link>http://Irrelevant data</link>
      <guid isPermaLink="true">http://Irrelevant data</guid>
      <description>sdfsdfsdf</description>
      <pubDate>Fri, 18 Jan 2008 12:26:02 GMT</pubDate>
      <pubDate2>18.01.2008</pubDate2>
      <createdby xmlns="Irrelevant data/">xstream</createdby>
      <updatedby xmlns="Irrelevant data/">xstream</updatedby>
      <artikel xmlns="Irrelevant data/"></artikel>
      <duration xmlns="Irrelevant data/">35.899</duration>
      <opphav xmlns="Irrelevant data/"></opphav>
      <clipid xmlns="Irrelevant data/">121212</clipid>
      <artikelid xmlns="Irrelevant data/">0</artikelid>
      <enclosure url="http://Irrelevant data" type="image/jpeg" />
      <click xmlns="Irrelevant data/"></click>
      <click24hours xmlns="Irrelevant data/"></click24hours>
      <click7days xmlns="Irrelevant data/"></click7days>
      <rating xmlns="Irrelevant data/" avg="0" max="0" min="0" num="0" />
      <tag id="12121201" level="1">Test</tag>
      <tag xmlns="Irrelevant data/">Test</tag>


      <category foerste_id="289" anden="1298" sidste="3">Testing</category>


      <recommended xmlns="Irrelevant data/" value="1" />
    </item>
  </channel>
</rss>

Actionscript koden:

rss = new Array();
channel = new Array();
channeldesc = new Array();
itemdesc = new Array();
arr = new Array();

xml_path = link; 
xml_doc = new XML();
xml_doc.onLoad = sortIT;

if (System.capabilities.playerType == "External") {//running locally
    local = true;
} else if (System.capabilities.playerType == "ActiveX" || System.capabilities.playerType == "PlugIn") {//runnning in a browser
    local = false;
}
if (local) {
    xml_doc.load("http://blabla.php?Tags=Test2|Test&orderby=date-desc");
  else {
    xml_doc.load("http://blabla/rssEngine.php?Tags=Test2|Test&orderby=date-desc");
}

function sortIT () {
   
rss = xml_doc.childNodes;
for (i=0; i<(rss.length); i++) {
       
channel = rss[i].childNodes;
for (j=0; j<(channel.length); j++) {
    if (channel[j].nodeName == "channel") {
    channeldesc = channel[j].childNodes;
    for (k=0; k<(channeldesc.length); k++) {
        if (channeldesc[k].nodeName == "item") {
            itemdesc = channeldesc[k].childNodes;
            item = new Array();
            for (n=0; n<(itemdesc.length); n++) {
                if (itemdesc[n].nodeName == "title") {
                    item.push(itemdesc[n].firstChild.nodeValue);
                }
                if (itemdesc[n].nodeName == "clipid") {
                    ClipId = itemdesc[n].firstChild.nodeValue;
                    item.push(ClipId);
                    item.push("blabla/bla.jsp?id="+itemdesc[n].firstChild.nodeValue);
                }
                if (itemdesc[n].nodeName == "click") {
                    item.push(itemdesc[n].firstChild.nodeValue);
                }
                if (itemdesc[n].nodeName == "pubDate") {
                    dateTmp = itemdesc[n].firstChild.nodeValue;
                    date = dateTmp.substr(5, 2)+". "+dateTmp.substr(8, 3)+". "+dateTmp.substr(17, 5);
                    item.push(date);
                }
                if (itemdesc[n].nodeName == "artikelid") {
                    item.push(itemdesc[n].firstChild.nodeValue);
                }
                if (itemdesc[n].nodeName == "category") {
                    item.push(itemdesc[n].firstChild.nodeValue);
                    trace(itemdesc[n].nextSibling.attributes.pol_id);
                }
            }// end for n
            arr.push(item);
        }//end if item 
    }// end for k
    }
    //end if channel 
}// end for j
}// end for i
}// end function

stop();

Mit problem er at:
Jeg er desværre ikke herre over hvordan dette feed sættes op, men skal bruge data fra:
<category id1="289" id2="1298" id3="3">Testing</category>

Hvor jeg skal bruge info for id2, jeg er desværre ikke just nogle xml haj så ved ikke hvordan jeg får fat i denne variabel, håber nogle her kan hjælpe mig.

/Erik
Avatar billede flashlite Nybegynder
28. januar 2008 - 12:11 #1
if (itemdesc[n].nodeName == "category") {
    item.push(itemdesc[n].firstChild.nodeValue);
    item.push(itemdesc[n].attributes.id2.toString());
}

Syntes jeg nu jeg havde prøvet men ak og ve, nu virker det!

/Erik
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

IT & Co ApS

IT-tekniker

Udviklings- og Forenklingsstyrelsen

Kontorchef til it-udviklingsteams på ejendomsområdet

Omnicom Media Group

Data Science Director

Erhvervsakademi Aarhus

Underviser til it-teknologuddannelsen

Saab Danmark A/S

System Engineer