我已经尝试过我能找到的每一个例子,但没有真正有效。我正在寻找动作脚本代码(不使用类 - 我想在mxml文件的部分中执行所有代码)来加载存储在与swf文件相同位置的XML文件。
我的XML设置如下:
<?xml version="1.0" encoding="utf-8"?>
<projects>
<project>
<projName>project1</projName>
<startDate>5/5/2011</startDate>
<positions>
<position>
<startOffset>1</startOffset>
<numDays>4</numDays>
<role>1D</role>
<student>Project 1 - Name 1</student>
</position>
... repeat for however many position pieces there are
</positions>
</project>
... repeat for however many project pieces there are
</projects>
我希望将其作为一个简单的XML(变量名的projectsXML)阅读,以便我可以执行以下操作:
<mx:Repeater id="singleProject" dataProvider="{projectsXML.projects.project}">
<mx:Text id="projectName" text="{singleProject.currentItem.projName}" />
</mx:Repeater>
我实际上要做的是调用转发器中的组件并传递变量,但如果我能实现上述目标,我很确定我能弄明白其余的。
如果有人可以帮助我,我会非常感激...所以我可以不停地撞到墙上:(
提前致谢, 亚历
答案 0 :(得分:2)
试试这个,看它是否有效......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
minWidth="955" minHeight="600"
creationComplete="{projectsHttp.send()}" layout="vertical">
<mx:HTTPService id="projectsHttp" url="projects.xml" />
<mx:Repeater id="rpt"
dataProvider="{projectsHttp.lastResult.projects.project}" >
<mx:Label text="{rpt.currentItem.projName}" />
</mx:Repeater>
</mx:Application>
答案 1 :(得分:1)
您可以使用HTTPService(或类似方法)加载XML数据,然后使用结果在加载后填充列表。
以下是一个示例:http://blog.flexexamples.com/2008/03/29/dynamically-loading-xml-files-using-the-httpservice-tag/
URLLoader类也是代替HTTPService的选项。两种方法的一般方法相同。