2010-05-18 90 views
0

某處在代碼中,我decalred變量:e4x語句與局部變量衝突?

[Bindable] 
var nameWin:String = ""; 

在此之後我有一個E4X聲明

podContent.xml_m = xml_m.item.(nameWin=="necessary name"); 

應該比較項目的namewin作爲「必要名」,並返回唯一項目,其nameWin與匹配「必要的名字「。

xml_m.item:

<item> 
    <nameWin>necessary name</nameWin> 
    <nameCol>Брутто-премия начисленная</nameCol> 
    <date>2009 Май</date> 
    <summa>259267.7976</summa> 
    </item> 
    <item> 
    <nameWin>unnecessary name</nameWin> 
    <nameCol>Брутто-премия начисленная</nameCol> 
    <date>2010 Апрель</date> 
    <summa>104.3254</summa> 
    </item> 
    <item> 
    <nameWin>necessary name</nameWin> 
    <nameCol>Брутто-премия начисленная</nameCol> 
    <date>2010 Май</date> 
    <summa>21.5174</summa> 
    </item> 

,如果我在聲明XML的孩子不同nameWin(。蘇瑪,例如)的使用,它的工作好。 但是在nameWin中,e4x將局部變量nameWin(此時對我完全不感興趣)與「必需名稱」進行比較,而不是將項目名稱Win與「必需名稱」進行比較。

任何想法?版本的庫可以是理由嗎?

回答

0

E4X按照設計的方式工作,因爲任何動作語句都可以在這些括號中進行評估。考慮到你的情況,你可以重新命名變量或使用屬性的方法,我認爲是這樣的:

podContent.xml_m = xml_m.item.attribute("nameWin")=="necessary name"; 

我可能有點小問題,我的語法,但是這是非常接近你想要什麼。

+0

它不似乎是工作......這條語句將返回布爾我想。但謝謝你的回答;-) – semen 2010-05-19 14:16:04

1

試試這個:

podContent.xml_m = xml_m.item.(elements("nameWin")[0]=="necessary name"); 
+0

非常感謝!真的行 – semen 2010-05-19 14:16:40