E4X : 표현식에서 문자열을 속성 이름으로 사용 하시겠습니까?
-
03-07-2019 - |
문제
이 줄이있는 함수가 있습니다.
var returnString:String = items[0].@month;
@month는 XML 노드의 Attribute입니다.
<xmlnode month="JAN"/>
OK 그러나 문자열을 함수로 전달하고 전달한 문자열과 일치하는 이름으로 속성의 내용을 가져올 수 있도록 속성 이름을 추출해야합니다. 예를 들어이 함수 ( "스톤")와 같은 함수를 호출하면 항목 [0].@Stone을 반환합니다. 나는 이것이 분명하기를 바랍니다.
누구든지 내가 추구하는 일을하는 방법을 아는 사람이 있습니까?
감사.
해결책
@stone이 아닌 속성 ( 'Stone')을 사용하고 싶을 것입니다. @stone은 글을 쓰는 속기 방식 일뿐입니다.
다른 팁
당신은 이것을 다음과 같이 쓸 수 있습니다.
var attrName:String = "month";
return items[0].@[ attrName ];
뿐만 아니라 속성 이름에 변수를 사용하여 속성에 값을 할당하려면 다음과 같이 (문서화되어 있지는 않지만) 할 수 있습니다.
public function setAttr(obj:XML, attrName:String, value:String):void{ obj.@[attrName] = value; }
제휴하지 않습니다 StackOverflow