我今天的问题涉及检查特定节点的XML文件。
示例:
<vid
flv="videoName"
thumb="thumbnail.jpg"
title="Video Title"
logo="Path to logo here">
</vid>
<vid
flv="videoName"
thumb="thumbnail.jpg"
title="Video Title"
</vid>
第一个vid节点包含徽标图形的路径,然后我需要检查我的ActionScript是否有徽标,如果有徽标则显示(显示徽标)
现在下面是我需要帮助的代码,我可以找出徽标路径,所以我认为我可以运行一个简单的if / else来检查该节点中是否有任何内容,如果是这样的话:
private function thumbOver(e:MouseEvent = null):void
{
trace("\r");
trace("YOU ROLLED OVER THUMBNAIL: " + e.target.id);
trace("PLAY THIS VIDEO: " + tabData[tabID].video[e.target.id].@flv);
trace("THE VIDEO TITLE: " + tabData[tabID].video[e.target.id].@title);
trace("HAS LOGO? " + tabData[tabID].video[e.target.id].@logo);
if (tabData[tabID].video[e.target.id].@logo == null)
{
trace("No logo here");
// Don't do anything
} else {
trace("Does have Logo");
// Code to display Logo
}
/*var lgo:Bitmap = loader.getBitmap(tabData[tabID].video[e.target.id].@logo);
lgo.width = 78;
lgo.height = 44;
lgo.x = 0;
logoPlace.addChild(lgo);
thumbRollmc.addChild(logoPlace);*/
descriptionMaker(tabData[tabID].video[e.target.id].@title);
}
现在我已经尝试了所有的东西,但无论我做什么,它总会追溯到“有徽标”。我试过了:
if (tabData[tabID].video[e.target.id].@logo == "")
if (tabData[tabID].video[e.target.id].@logo == null)
但是我得到了相同的结果,我应该对这个问题采取什么方法呢?
答案 0 :(得分:2)
if (tabData[tabID].video[e.target.id].hasOwnProperty("@logo"))