Flex里的XML类没有 [多次] 移动接口??似乎Flex官方 是一严重的bug

黄传通 黄传通 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
情况如下:

<mx:Tree id="tree1" dataProvider={m_data}/>
<mx:Script>
<![CDATA[

[Bindable]
public var m_data:XML = null;


public function init():void
{
//这里初始化m_data;
m_data = <root>
<folder id ="-1">
<folder id = "0"/>
<folder id= "1"/>
</folder>
<folder id="2"/>
<folder id="3"/>
<folder id="4"/>
<folder id="5"/>
<root/>
}
function fun1():void{
var node:XML = m_data..*.( @id="1");//找到id==1的节点
node.appendChild(<folder id="new"/>); //这里就会出现加不进m_data中,只有第一次调用时行,多行就不行了。

}
function fun2():void{
var node:XML = m_data..*.( @id="1")
delete node.folder[0]); //这里就能删除

}
function move:void{
fun1(); fun2();
fun1(); fun2();
fun1(); fun2();
//对m_data进行增删。移动等操作。
}
]]>
</mx:Script>



据说XML没有实现增删接口,那句 “只能删除动态增加的属性”。不能这样写 delete m_data.child() ,我寒阿。。

其实我上面的操作是失败的。当我多次appendChild里,就会出现加不进去的结果 。

Tree控件的标准用法是否:数据源由XMLListCollection类提供?为何?

我理解 XMLListCollection 是一平面二维结构。[0]、[1]、[2]、、由 addItem() 方法增加。
里面保存是 XMLList or XML

而XMLList只有一个元素,即只有下标[0],[0]是XML类型。

XMLListCollection 实现的 removeAll, removeItem, addItem 这些接口?这是什么意思?

XMLList, XML 没有这些接口, 只有XML.appendChild(), 没有 XML.removeChild(),

个人理解 delete XML.Child 这样的做法是不正确的删除结点方法?对吗?











...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
黄传通
Flex 4,326 成员 9,103 内容