IndexMenu.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<node name="资源系统">
<leafNode id="1" name="项目库管理" level="2" menu_url="http://www.sina.com"/>
<leafNode id="2" name="规范库库管理" level="2" menu_url="" />
<leafNode id="3" name="仪器管理" level="2" menu_url=""/>
<leafNode id="4" name="药品管理" level="2" menu_url=""/>
</node>
<node name="教学管理">
<leafNode name="用户管理模块" level="2" menu_url=""/>
<leafNode name="实验室教学辅助流程" level="2" menu_url=""/>
<leafNode name="实验项目选课" level="2" menu_url=""/>
<leafNode name="网络课堂" level="2" menu_url=""/>
<leafNode name="内容管理模块" level="2" menu_url=""/>
<leafNode name="网络交流" level="2" menu_url=""/>
</node>
<node name="实验室管">
<leafNode name="资源预约" level="2" menu_url=""/>
<leafNode name="仪器赔偿" level="2" menu_url=""/>
<leafNode name="工作日志辅助管理" level="2" menu_url=""/>
<leafNode name="财务辅助记录" level="2" menu_url=""/>
</node>
</root>
mainFrame.mxml
<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" >
<mx:HTTPService id = "indexMenu" showBusyCursor = "true"
method = "POST" url = "xml/IndexMenu.xml"
useProxy = "false" result = "httpIndexMenuResult(event)"
resultFormat = "e4x" />
<mx:Script>
<![CDATA[
[Bindable]private var menuAC:ArrayCollection=new ArrayCollection();
public function init() : void
{
indexMenu.send();
}
private function httpIndexMenuResult(event:ResultEvent):void
{
var menuXml:XML=event.result as XML;
for (var i:int=0;i<menuXml.node.length();i++)
{
var obj:Object = new Object();
obj.name = menuXml.node[i].@name;
obj.level= "1";
menuAC.addItem(obj);
for (var j:int=0;j<menuXml.node[i].leafNode.length();j++)
{
var subObj:Object = new Object();
subObj.name = menuXml.node[i].leafNode[j].@name;
subObj.level=menuXml.node[i].leafNode[j].@level;
subObj.menu_url=menuXml.node[i].leafNode[j].@menu_url;
menuAC.addItem(subObj);
}
}
var nowVbox:VBox = new VBox();
for(var k:int=0;k<menuAC.length;k++)
{
var tempO:Object = menuAC.getItemAt(k);
if(tempO.level=="1")
{
var panel : Panel = new Panel();
panel.percentWidth = 100 ;
panel.styleName = "leftPanelTemp" ;
panel.horizontalScrollPolicy = "off"
panel.verticalScrollPolicy = "off"
panel.title = tempO.name;
var vbox:VBox = new VBox();
vbox.percentWidth = 100;
vbox.styleName = "leftVBox" ;
nowVbox = vbox;
panel.addEventListener(MouseEvent.CLICK , MyEventDelegate.create(clickLeftMenu,panel)) ;
panel.height =25 ;
this.arrLeftPanel.push(panel) ;
panel.addChild(vbox);
this.leftVBox.addChild(panel);
}
else if(tempO.level=="2")
{
var button:Button = new Button();
button.styleName = "newButton";
button.label = tempO.name;
// button.id = tempO.id;
button.width = 125 ;
var obj:Object = new Object();
obj.menu_url = tempO.menu_url;
button.data = obj;
nowVbox.addChild(button);
if ( tempO.menu_url != null)
{
button.addEventListener(MouseEvent.CLICK, menuJumpTo);
}
}
}
}
public function menuJumpTo(event:MouseEvent):void
{
var toUrl:String = (event.target as Button).data.menu_url;
navigateToURL(new URLRequest(toUrl),"_blank");
}
]]>
</mx:Script>
<mx:Panel>
<mx:VBox id="leftVBox" width="100%" height="100%" />
</mx:Panel>
</mx:Application>
分享到:
相关推荐
在这个例子中,我们将XML文件中的`color`元素转换为了`ArrayCollection`类型,以便在Flex应用中使用。 #### 方法二:使用URLLoader读取XML文件 除了`HTTPService`外,`URLLoader`也是Flex中另一个常用的方法来读取...
在某些情况下,我们需要将ArrayCollection转换为XML格式,以便于数据交换或存储。本实例将详细介绍如何实现这一转换。 首先,我们来理解ArrayCollection的基本用法。ArrayCollection通常用于Flex或Flash项目,它...
本篇文章将聚焦于如何将ArrayCollection转换为XML数据源,并实现Flex Tree组件的新增、删除和修改功能。以下是详细的解释和步骤。 首先,ArrayCollection是Flex中常用的数据结构,它是一个动态数组,支持数据绑定和...
在Flex编程中,读取XML文件是常见的数据交互方式,特别是在构建富互联网应用程序(RIA)时,用于存储和传输数据。本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于...
4. **Object与XML/ArrayCollection转换**:为了将XML数据传递给图表,需要将其转换为ArrayCollection。ArrayCollection是Flash Player和Flex中常用的动态数组,适合作为数据绑定的目标。使用Object,我们可以遍历XML...
在本示例中,它被用来从服务器获取XML文件并将其内容解析为XML对象,以便在应用程序中使用。`Flex` 是Adobe开发的一个开放源代码框架,用于构建富互联网应用程序(RIAs)。在MXML文件中,我们可以看到如何结合...
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
在本文中,我们将深入探讨如何在Flex-web工程中加载Tomcat服务器下的XML文件。这个过程涉及到Flex编程、HTTP请求以及XML数据处理等多个知识点。首先,让我们解析标题和描述中的关键信息。 标题:“flex-web工程载入...
Flex的Array和ArrayCollection
本示例展示了如何从XML文件加载数据并将其显示在Flex DataGrid中。以下是对该话题的详细解释: 1. **XML数据源**:在示例中,数据存储在一个名为`user.xml`的外部XML文件中。XML是一种轻量级的、自描述的数据交换...
3. **显示XML数据**:Flex的`<mx:DataGrid>`组件能方便地将XML数据展示成表格形式。通过设置`dataProvider`属性为XML数据,可以将XML节点映射到表格列。如`<mx:DataGrid dataProvider="{xmlData..childNodeName}" />...
2. **加载XML数据**:在Flex应用中,我们可以使用`XML`类加载并解析XML文件。例如: ```actionscript var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader....
首先,我们需要加载XML文件,然后使用`XMLListCollection`将其转换为可以被Tree识别的数据结构。以下是一个简化的代码示例: ```actionscript var xmlLoader:URLLoader = new URLLoader(); xmlLoader.load(new ...
### 如何使用Flex读取本地XML文件 ...通过以上步骤,我们成功地使用Flex读取了一个本地XML文件,并展示了如何处理文件中的数据。这种方法对于开发需要与XML文件交互的Flex应用程序非常实用。希望这篇教程对你有所帮助!
3. **字符串转换**:在Flex中,你需要将数据模型中的每个对象转换为CSV字符串。这通常涉及遍历数据集,将每个对象的属性或值转化为逗号分隔的字符串。 4. **编码与换行**:确保正确处理特殊字符和换行符。CSV文件...
接着,通过Blazeds将`ArrayList`转换为Flex所需的`ArrayCollection`,并发送给前端。最后,在Flex应用中,只需要将这个`ArrayCollection`绑定到DataGrid,即可展示Excel数据。 在给出的代码片段中,可以看到如何...
1. **文件读取**:在Flex中,可以使用Flash的FileReference类来与本地文件系统交互,让用户选择要导入的Excel文件。用户选择文件后,FileReference对象的load()方法会被调用,加载选定的文件内容。 2. **数据解析**...
在Flex Builder或IntelliJ IDEA等IDE中,你可以将SWC文件放入“libs”目录,并在项目设置中将其标记为库。 2. **准备数据**:在Flex应用中,数据通常存储在ArrayCollection或其他数据结构中。确保你的数据已经格式...
这个主题涉及到如何将Flex Datagrid中的数据保存到Excel文件,以及从Excel文件读取数据。在实际业务场景中,这样的功能常常用于数据导入导出,提高用户的工作效率。 首先,让我们了解一下Flex Datagrid的基本概念。...
- 循环读取:使用循环遍历CSV文件,每次读取一行,将数据存储到适当的数据结构中,如Array或ArrayCollection。 - 处理数据:根据业务需求,对读取的数据进行处理,如计算、转换或显示在UI上。 - 关闭流:在读取...