Actionscript 3 解析Flex树组件的XML
在我继承的项目中,我需要从使用spark列表组件切换到使用mx树组件,以便能够将项目分组到目录中。我对Flex/XML已经很生疏了,所以我想知道我是否可以在正确的方向上获得一些信息来处理这个问题 我的问题(详情/数据详情如下):Actionscript 3 解析Flex树组件的XML,actionscript-3,apache-flex,Actionscript 3,Apache Flex,在我继承的项目中,我需要从使用spark列表组件切换到使用mx树组件,以便能够将项目分组到目录中。我对Flex/XML已经很生疏了,所以我想知道我是否可以在正确的方向上获得一些信息来处理这个问题 我的问题(详情/数据详情如下): 如何从“学生”节点检测“学生组”节点 树组件需要一个用于显示名称的字段。是吗 “studentGroup”节点和“student”节点之间必须有一个通用名称 节点 我完全做错了吗 以前我的XML数据是扁平的(为了清晰起见,我去掉了所有细节): 我需要改变它,以便对于
- 如何从“学生”节点检测“学生组”节点
- 树组件需要一个用于显示名称的字段。是吗 “studentGroup”节点和“student”节点之间必须有一个通用名称 节点
- 我完全做错了吗
我想试试这样的东西:
for each(var studentGroup:XML in prop.studentGroup)
{
//student group
for each(var student:XML in studentGroup.student) {
tempStudent = new Student(studentProp.studentName);
tempStudentGroup.add(tempStudent);
}
tempArray.addItem(tempStudentGroup);
}
for each(var student:XML in prop.student)
{
//single student
tempStudent = new Student(studentProp.studentName);
tempArray.addItem(tempStudent);
}
<studentList>
<student label="Chess">
<student label="Bett"/>
</student>
<student label="Sam"/>
<student label="Ruby"/>
</studentList>
override public function set data(value:Object):void {
if( value != null ) {
super.data = value;
if( TreeListData(super.listData).hasChildren ) {
...
如果要在mx:Tree中使用,您的xml将如下所示:
for each(var studentGroup:XML in prop.studentGroup)
{
//student group
for each(var student:XML in studentGroup.student) {
tempStudent = new Student(studentProp.studentName);
tempStudentGroup.add(tempStudent);
}
tempArray.addItem(tempStudentGroup);
}
for each(var student:XML in prop.student)
{
//single student
tempStudent = new Student(studentProp.studentName);
tempArray.addItem(tempStudent);
}
<studentList>
<student label="Chess">
<student label="Bett"/>
</student>
<student label="Sam"/>
<student label="Ruby"/>
</studentList>
override public function set data(value:Object):void {
if( value != null ) {
super.data = value;
if( TreeListData(super.listData).hasChildren ) {
...
您的第二个问题:是的,它们都使用“标签”作为显示名称
override public function set data(value:Object):void {
if( value != null ) {
super.data = value;
if( TreeListData(super.listData).hasChildren ) {
...