2009-06-03 100 views
0
$output .="<keyword>".$_POST['keyword']."</keyword><name>".$row['url']."</name><occur>".$row['occurrences']."</occur><queryTime>".(substr($end_time-$start_time,0,5))."</queryTime>"; 
} 

我想在Flex的檢查,如果name的值是空或不是。我試過這些,但是當節點值爲空時我沒有收到任何警報。如何在Flex中檢查xml值是否爲空?

event.result.attribute("name").value < 0 

event.result.attribute("name").length < 0 

event.result.loginsuccess.name = "" 

任何人都可以幫助我,下面是我的flex代碼。

if(keyword.text == "") 
{ 

Alert.show("Please enter the search term"); 
    } else if(event.result.attribute("name").length < 0) { 
      Alert.show("No search Results"); } 
else { 
       subtitle.text = "Search results for " + event.result.loginsuccess.keyword[0]; 
         query.text = "query executed in " + event.result.loginsuccess.queryTime[0] + " Seconds"; 
      } 
      } 

回答

1

檢查這個

event.result.loginsuccess.name[0] == null 

爲什麼呢?

因爲當你直接在XML,它總是返回作爲的XMLList調用一個孩子,所以我們應該檢查是否具有的XMLList任何孩子。在[0](第一指數)試圖返回的第一個孩子,如果存在othwerwise返回null

在你的榜樣應該是:

if(event.result.name[0]) 
{ 
... 
} 

因爲這個名字是一個元素沒有屬性,如果名字屬性那麼它應該是

if([email protected][0]) 
{ 
... 
} 

我希望它能幫助

編輯

請嘗試這種方式

if(keyword.text == "") 
{ 

Alert.show("Please enter the search term"); 
    } else if(!XML(event.result).name[0]) { 
       Alert.show("No search Results"); } 
else { 
         subtitle.text = "Search results for " + event.result.loginsuccess.keyword[0]; 
             query.text = "query executed in " + event.result.loginsuccess.queryTime[0] + " Seconds"; 
       } 
       } 
+0

我沒有收到任何警告消息,當名稱字段爲空......它沒有檢查我認爲如此。 – Kevin 2009-06-03 06:30:10

0

還可以檢查空字符串如

if(event.result.name=="") 
{ 
}