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

名前の値がnullの場合、Flexでチェックしたいと思います。私はこれらを試しましたが、ノードの値が空のときに警告が表示されません。FlexでXML値がnullであるかどうかをチェックする方法

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

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

event.result.loginsuccess.name = "" 

誰でもお手伝いしますか?以下は私のフレックスコードです。

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リターンはそれがあるべきあなたの例では

をゼロに存在する場合は最初の子を返そうとします:

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

名前は属性だった場合、名前は、属性のない要素であるため、それは、私はそれが役に立てば幸い

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

でなければなりません

EDIT

のplsは

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

名前フィールドがnullの場合は、警告メッセージが表示されません。 – Kevin

+0

あなたのコードを試してみましたが、今すぐ警告メッセージが表示されますが、問題は特定のキーワードの結果があり、検索結果が表示されない場合です。 それ以外にはそれ自体は条件を設定しません。 – Kevin

+0

あなたのXML出力が間違っている、xmlは1つの要素(ルート要素)を持つ必要があります。 または任意の名前で出力を開始し、出力の最後にルートタグを閉じます –

0

も、例えば、空の文字列をチェックすることができますこの方法を試してみてください

if(event.result.name=="") 
{ 
} 
関連する問題