var userInfo:XML =
<xmlRoot>
<userItem id="1">
<user>userName1</user>
<age>1</age>
</userItem>
<userItem id="2">
<user>userName2</user>
<age>2</age>
</userItem>
<userItem id="3">
<user>userName3</user>
<age>3</age>
</userItem>
</xmlRoot>;
AS3.0里面,在对 xml 操作时,有插入新节点这个方法:insertChildBefore() ;
使用方法为:
userInfo.insertChildBefore(userInfo.userItem.(@id=="2"),userItem_new); //在<userItem id="2">节点前新加一个 <userItem_new> 节点.
但:
<userItem id="2">
<user>userName2</user>
可是如果我想在此处加那个新节点<userItem_new>
<age>2</age>
</userItem>
就应该这样写(按道理这样写是没错的):
userInfo.userItem.(@id=="2").insertChildBefore(userInfo.userItem.(@id=="2").age,userItem_new);
的确,这样写是没错的。测试是成功的!
但:
一旦我按了那个 “自动套用格式” 的按钮,上面那行代码会变成:
userInfo.userItem.@id == "2".insertChildBefore(userInfo.userItem.(@id=="2").age,userItem_new1);
正确的应为: userInfo.userItem.(@id=="2").insertChildBefore(userInfo.userItem.(@id=="2").age,userItem_new);
使得测试时显示错误了。
就是在 Flash CS3 出现的 bug .
userInfo.userItem.(@id=="2").insertChildBefore(userInfo.userItem.(@id=="2").age,userItem_new);