Flex 3:使用转发器&将XML信息发送到组件......有一些问题

时间:2011-04-26 14:12:19

标签: xml flex components

我尝试导入XML文件,并将碎片发送到自定义组件。

我的XML文件结构如下:

<projects>
  <project>
        <projName>{Insert title of project here}</projName>
        <startDate>{Insert date here}</startDate>
        <positions>
              <daysOffset>{Insert a number here}</daysOffset>
              <numDays>{Insert a number here}</daysOffset>
              <role>{Insert role here}</role>
              <student>{Insert name here}</student>
        </positions>
        // There can be an unlimited amount of positions listed
  </project>
  // There can be an unlimited amount of projects listed

我使用以下命令读入XML数据:

<mx:XML id="projectsXML" xmlns="" source="xml/projects.xml" format="e4x" />

导入XML后,我尝试使用转发器将每个标记内的信息发送到自定义组件。我的代码如下:

<mx:Canvas width="100%" height="95%" x="0" y="80">
    <mx:Repeater id="projectRP" dataProvider="{projectsXML}">
        <Block:project 
            oneDay="{usableSize.width/14}" 
            projectTitle="{projectRP.currentItem.project.projName}"
            projectDate="{projectRP.currentItem.project.startDate}"
            projectPositions="{projectRP.currentItem.project.positions as Array}"
            />
    </mx:Repeater>
</mx:Canvas>

保存项目时,我没有收到任何错误或警告。但是,当我尝试输出组件中的值时,projectPositions片段将返回Null。

有人有什么想法吗?我一直试图在两天的大部分时间里解决这个问题,而且我完全难过了:(

1 个答案:

答案 0 :(得分:1)

您将projectRP.currentItem.project.positions投射为Array,但它是XMLList。所以在演员之后你有null