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