20.5.在XML元素中添加属性

问题
我想为XML元素增加属性
解决办法
使用E4X的@ 操作符
讨论
使用E4X的@ 操作符可为元素添加新的属性,如:
+展开
-ActionScript
elementNode.@attributeName = "value";

在元素节点后面使用(.)操作符,再跟上@ 操作符,指定属性名称,=号右边即是属性值:
+展开
-ActionScript
var example:XML = <example><someElement/></example>;
// 添加属性
example.someElement.@number = 12.1;
example.someElement.@string = "example";
example.someElement.@boolean = true;
example.someElement.@array = ["a"null, 7, undefined, "c"];
/* 显示:
<example>
<someElement number="12.1" string="example" boolean="true"
array="a,,7,,c"/>
</example>
*/

trace( example );

当使用这种语法时,属性名必须是合法的变量名称,也就是说必须是数字,字幕和下划线组成且不能以数字开头。但是有时如果属性名包含一些特殊符号,则不能用@操作符,必须加上[]操作符,例如:
+展开
-ActionScript
example.someElement.@["bad-variable-name"] = "yes";

在[]里还可用表达式产生动态属性名,这是种很实用的技巧:
+展开
-ActionScript
example.someElement.@["color" + num] = "red";

加支付宝好友偷能量挖...


评论(0)网络
阅读(82)喜欢(0)flash/flex/fcs/AIR