2010-05-18 1 views
0

어딘가에 코드에서 내가 decalred 한 변수 :이 후e4x 문이 로컬 변수와 충돌합니까?

[Bindable] 
var nameWin:String = ""; 

난은 E4X 문을이 "필요 이름"으로 항목의 namewin을 비교 항목 만 그 nameWin 함께 일치 "를 반환해야

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

필요한 이름 ".

는 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> 

내가 nameWin (.. SUMMA, 예를 들어)의 별개의 문 XML-자식으로 사용하는 경우, 그것은 잘 작동합니다. 그러나 nameWin을 사용하면 e4x는 항목의 nameWin을 "필요한 이름"과 비교하는 대신 "필요한 이름"을 사용하여 로컬 변수 nameWin (현재로서는 내게 관심이 없음)을 비교합니다.

아이디어가 있으십니까? 라이브러리의 버전이 이유가 될 수 있습니까?

답변

0

E4X는이 경우 괄호 안에 actionscript 문을 평가할 수 있으므로이 경우 설계된대로 작동합니다. 당신의 상황을 고려하면 당신은 당신에게 변수의 이름을 바꾸거나 내가 이렇게 가고 생각하는 속성 방법을 사용할 수 있습니다 :

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

가 내 구문을 조금 떨어져있을 수 있습니다를 그러나 이것은 당신이 원하는에 매우 가깝습니다.

+0

이 일 것으로 보인다되지 않는다 ... 그것은 문 제가 생각 부울을 반환합니다. 하지만 답변 주셔서 감사합니다 ;-) – semen

1

이 시도 :

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

많이 고마워요! 실제로 작동한다 – semen