Как проверить, является ли значение XML пустым во Flex? - PullRequest
0 голосов
/ 03 июня 2009
$output .="<keyword>".$_POST['keyword']."</keyword><name>".$row['url']."</name><occur>".$row['occurrences']."</occur><queryTime>".(substr($end_time-$start_time,0,5))."</queryTime>";
}

Я хочу проверить во Flex, является ли значение name нулевым или нет. Я пытался для них, но я не получаю никаких предупреждений, когда значение узла пусто.

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";
            }
            }

Ответы [ 2 ]

1 голос
/ 03 июня 2009

отметьте это

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

почему

потому что, когда вы вызываете дочерний элемент непосредственно в XML, он всегда возвращается как XMLList, поэтому мы должны проверить это, если у XMLList есть дочерний элемент. [0] (первый индекс) пытается вернуть первого потомка, если существует, иначе возвращает ноль

в вашем примере это должно быть:

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

поскольку имя является элементом, а не атрибутом, если имя было атрибутом, тогда оно должно быть

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

надеюсь, это поможет

EDIT

Пожалуйста, попробуйте этот путь

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 голосов
/ 03 июня 2009

Можно также проверить наличие пустой строки, например,

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