更改AS3中XML对象上的属性的值

时间:2020-03-06 14:20:38  来源:igfitidea点击:

有没有简单的方法可以做到这一点?还是我必须解析文件并自己进行一些搜索/替换?

理想的情况如下:

var myXML: XML = ???; // ... load xml data into the XML object

myXML.someAttribute = newValue;

解决方案

在AS3中,可以使用@前缀来访问属性。

例如:

var myXML:XML = <test name="something"></test>;
trace(myXML.@name);
myXML.@name = "new";
trace(myXML.@name);

输出:

something
new

问题出在某些属性上,例如@class。试想一下,我们想创建HTML源并想要创建标签测试

所以代码应该是

var myDiv:XML = test
myDiv。@ class =" myClass"; //我想在这里设置它,因为它可能会有所不同

但这是不可编译的,并且会引发错误(至少在Flex Builder中)

在这种情况下,我们还可以使用以下命令:

myDiv。@ ['class'] =" myClass";