这是我第一次尝试弄乱 Flash 并读取 xml 文件。我已经加载了提要,我什至将提要输出文本放入文本框中。
最后一点是我想获得从 xml 提要返回的节点总数。此外,XML 提要是特定于 wordpress 类别的提要。
例如,该结构类似于频道 -> 项目 -> 标题。所以我想我想计算提要中“项目”元素的数量?
我已经尝试了很多东西,但我看不到这个。
这是我到目前为止所拥有的:
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("{my rss feed}"));
/* This loads the XML */
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
parseData(xmlData);
}
// Here is where i need to get the total number of nodes from my xml file;
// The reason is i want to give my random range function a "maximum" value.
// I'm pulling a random post from the feed
function randomRange(minNum:Number, maxNum:Number):Number
{
return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}
var randomNum = randomRange(0, 3);
function parseData(mTip:XML):void {
flashTip.htmlText = mTip.channel.item[randomNum].description.text();
}
这是包含所有编辑的最终脚本。我已经使用 AS3 在 Flash CS5 中对其进行了测试。它也在工作。也许其他人会发现这很有用。
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("{my wordpress rss feed url}"));
/* This loads the XML */
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
parseData(xmlData);
}
/* This gets the data for today's tip */
function parseData(mTip:XML):void {
var itemXMLList:XMLList = XMLList(mTip..item);
var count:int = itemXMLList.length();
var finalcount:int = count - 1;
//trace(finalcount);
function randomRange(minNum:Number, maxNum:Number):Number
{
return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}
var randomNum = randomRange(0, finalcount);
//trace(randomNum);
flashTip.htmlText = mTip.channel.item[randomNum].description.text();
}