2010-05-18 94 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