我正在使用 YQL 尝试查找我正在开展的项目的乐队照片。如果找到图像,则会在 XML 响应中返回该图像,然后我的 Flash 代码将其发布。但如果没有找到,我不太确定如何告诉闪光灯不要做任何事情。这是我的代码:
XML.ignoreWhitespace = true;
var groupPhotoXML = new XML (e.target.data);
var imgRef = groupPhotoXML.results.img[0].@src;
if (imgRef != undefined){
//DO STUFF. THIS IF STATEMENT DOESN'T WORK THOUGH. ALSO TRIED if(groupPhotoXML != undefined)
}
成功的 grouPhotoXML 响应如下所示:
<query yahoo:count="1" yahoo:created="2011-07-13T16:35:21Z" yahoo:lang="en-US" xmlns:yahoo="http://www.yahooapis.com/v1/base.rng">
<results>
<img alt="Syn photo" id="artistArtistImg" src="http://d.yimg.com/ec/image/v1/artist/266256;encoding=jpg;size=156x94" title="Syn photo"/>
</results>
</query>
不成功的尝试将被视为空。
最佳答案
在尝试提取 src
属性之前,您应该检查 results
和 img
元素是否存在。尝试这样做:
var imgRef:String;
if(groupPhotoXML.results && groupPhotoXML.results.img[0])
imgRef = groupPhotoXML.results.img[0].@src;
else
// The response was invalid
关于xml - 闪存 AS3 : XML and undefined values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6682432/