有一个enableGrouping: true
文件,它由各种节点组成。我需要更改节点的一个属性,然后将所有内容覆盖为新版本。我发现that SO问题,但XML
根本无法理解我的XML文件,并且会抛出有关语法的错误。
我在程序中进行了计算,应该用XML中的特定属性编写。然后用以前的(覆盖)替换文件的更新版本。
我的XML文件庞大而复杂,因此我无法将所有代码放在此处。但是我可以告诉你,我从文件中获取了所有内容并将其放在代码中,如上面的链接。
Flash IDE
Flash预计在<?xml version="1.0" encoding="UTF-8"?><!--I guess this part is not recognised and need to be added just before to save-->
<Something x="0" y="0" width="1437.5" height="1010">
之后会;
,并且会在预期停止。
更改XML属性的正确方法是什么?
编辑:
我通过切片来使用XML文件的数组。然后我添加必要的部分并保持这样。但我想知道有没有更好的方法来做到这一点而不会搞乱数组。
答案 0 :(得分:1)
要更改XML属性,您可以使用E4X(ECMAScript for XML),如下所示:
var xml:XML = <objects>
<object id="mc_01" x="0" y="0" width="1437.5" height="1010" />
<object id="mc_02" x="300" y="400" width="150" height="100" />
<object id="mc_03" x="120" y="0" width="50" height="30" />
</objects>;
// select the object with its id (for example), and change its "x" attribute
xml.*.(@id == 'mc_02').@x = 800;
trace(xml);
// gives
//
// <objects>
// <object id="mc_01" x="0" y="0" width="1437.5" height="1010"/>
// <object id="mc_02" x="800" y="400" width="150" height="100"/>
// <object id="mc_03" x="120" y="0" width="50" height="30"/>
// </objects>
有关在ActionScript 3中使用XML的更多信息,请查看here。
希望可以提供帮助。