我尝试导入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。
有人有什么想法吗?我一直试图在两天的大部分时间里解决这个问题,而且我完全难过了:(
答案 0 :(得分:1)
您将projectRP.currentItem.project.positions
投射为Array
,但它是XMLList
。所以在演员之后你有null
。