我正在尝试查找以下哪个“对象”节点在linkurl属性中包含一个 url。即使属性中没有内容,linkurl 属性也将始终存在。我没有任何运气,因为我无法找到一种方法来确定第一个对象节点中的 linkurl 的第一个实例是否为空,然后转到第二个,然后是第三个等。该属性始终包含某些内容,即使属性本身没有内容。
这是xml
<object id='graphic1' active='1' url='media/00360691.swf' x='445' y='125' alt='' altfr='' altes='' tabIndex='1' layer='0' linkurl=''/>
<object id='graphic2' active='0' url='media/00360691.swf' x='0' y='0' alt='' altfr='' altes='' tabIndex='1' layer='0' linkurl='html/AnalyticalReviewAnalysis.pdf'/>
<object id='graphic3' active='0' url='media/00360692.swf' x='0' y='0' alt='' altfr='' altes='' tabIndex='1' layer='0' linkurl=''/>
<object id='graphic4' active='0' url='media/00360693.swf' x='0' y='0' alt='' altfr='' altes='' tabIndex='1' layer='0' linkurl=''/>
<object id='graphic5' active='0' url='media/' x='0' y='0' alt='' altfr='' altes='' tabIndex='1' layer='0' linkurl=''/>
<object id='activity' active='0' url='media/' x='0' y='0'/>
这是我到目前为止所尝试的:
if(myXML.object[7].hasOwnProperty("@linkurl")){
trace("graphic 1 is not empty");
linkURL = myXML.object[7].attribute("linkurl")[0];
} else {
trace("graphic 1 is empty");
}
trace("length: "+myXML.object[7].attribute("linkurl")[0].length());
trace(myXML.object[7].attribute("linkurl")[0]);
trace("linkURL: "+ linkURL);
这是什么痕迹:
graphic 1 is not empty
length: 1
linkURL:
无论属性是否包含内容,长度始终为 1。因此,我无法忽略空节点,然后继续下一个。if 语句总是出现不为空,因为即使 if linkurl=""
,它仍然有一些东西。