0

我已经尝试了我能找到的每一个例子,但没有一个真正奏效。我正在寻找的动作脚本代码(不使用类 - 我想做 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>

我实际上要做的是在转发器中调用组件并传递变量,但如果我能实现上述目标,我很确定我能弄清楚其余的。

如果有人可以在这里帮助我,将不胜感激......这样我就可以停止用头撞墙了:(

提前致谢, 亚历克斯

4

2 回答 2

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>
于 2011-05-05T00:28:17.937 回答
1

您将使用 HTTPService(或类似方法)加载 XML 数据,然后在加载后使用结果填充您的列表。

这是一个示例:http ://blog.flexexamples.com/2008/03/29/dynamically-loading-xml-files-using-the-httpservice-tag/

URLLoader 类也是替代 HTTPService 的一个选项。两者的通用方法相同。

于 2011-05-04T23:53:46.720 回答