2011-05-04 70 views
0

我试过了我能找到的每个示例,但没有任何功能。我正在寻找动作脚本代码(不使用类 - 我想要执行mxml文件部分中的所有代码)来加载存储在与swf文件相同位置的XML文件。Flex 3:读取外部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> 

我真正要做的是调用中继器内的组件并传递变量,但是如果我能达到上述目的,我很确定我可以找出其余的。

如果有人能帮助我在这里,它会不胜感激......这样我就可以停止冲击我的头靠在墙上:(

在此先感谢,亚历克斯

回答

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> 
+0

当我尝试将它纳入我的代码,它不显示当我运行应用程序 我有以下代码: 的 \t \t \t \t \t \t \t \t – Brds 2011-05-05 02:04:45

+0

这是我很难弄清楚不知道在上面的代码段 “项目” 组成部分的细节。 Canvas与应用程序相关的地方也在哪里。对不起,如果我没有帮助。1我眼前的问题是 - 你打电话给send()? – Sai 2011-05-05 02:25:32

+0

我不完全确定我做了什么,但我得到了它的工作......现在我遇到了另一个问题。在我的重复器中,我称之为项目组件,我在项目组件上传递this:projectPositions =“{projectRP.currentItem.positions.position}”.....我将projectPositions声明为Object。它是否正确?我需要能够浏览projectPositions并查看该对象中的每个元素。 – Brds 2011-05-05 03:28:09