留个笔记
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
initialize="init()" minWidth="955" minHeight="600" width="497" height="538">
<fx:Script>
<![CDATA[
import mx.collections.Sort;
import mx.collections.SortField;
import mx.collections.XMLListCollection;
private var _projectsXML:XML=
<projects>
<project id="1" name="pro1">
<task id="1">
<name>UnderStand E4X</name>
<notes>Cool, for XML anyway</notes>
</task>
<task id="2">
<name>Learn XMLListCollection</name>
<notes>simple</notes>
</task>
</project>
<project id="2" name="pro2">
<task id="3">
<name>Learn XMLList</name>
</task>
<task id="4">
<name>Get a coffee</name>
<notes>Very necessary</notes>
</task>
</project>
</projects>
private function init():void{
var output:String = "";
output += "Full XML:\n" + _projectsXML;
output += "\n\nUsing E4X and XMLList:\n";
output += _projectsXML.project[0].task[0].name + "\n";
output += _projectsXML.project.(@name=="pro2").task.(@id==3).name + "\n";
var projects:XMLList = _projectsXML.children();
for each(var project:XML in projects){
output += "Project:" + project.@name + "\n";
for each(var task:XML in project.task){
output += " Task:" + task.@id + ": " + task.name;
if(task.hasOwnProperty('notes')){
output += "(" + task.notes + ")";
}
output += "\n";
}
//output += "\n";
}
output += "\n\nLearning XMLListCollection and Sorting:\n";
var allTasks:XMLListCollection = new XMLListCollection(_projectsXML.descendants("task"));
var sort:Sort = new Sort();
sort.fields =[ new SortField("name",true)];
allTasks.sort = sort;
allTasks.refresh();
output += "\n\n\n" + allTasks + "\n\n\n";
for each(var sortedTask:XML in allTasks){
output += sortedTask.name + "\n";
}
outputArea.text = output;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:TextArea id="outputArea" x="0" y="0" width="100%" height="100%"/>
</s:Application>
分享到:
相关推荐
可以使用`XML`类和`XMLList`来解析XML: ```actionscript var xml:XML = new XML(treeData); // treeData为XML字符串 var xmlList:XMLList = xml.node; // 获取所有顶级节点 var dataList:XMLListCollection = new ...
var dataProvider:XMLListCollection = new XMLListCollection(xmlList); tree.dataProvider = dataProvider; ``` 接下来,我们讨论Array数据源。Array是最基础的数据结构,可以包含任意类型的数据。对于Tree组件,...
在Flex中,Tree组件可以绑定到各种数据源,包括Array,ArrayCollection,以及XML或XMLList。XML因其结构化和易于解析的特性,常被用来存储和传递层次结构的数据,这与Tree组件的展示需求非常匹配。在"TreeExample"中...
`users.children()` 返回一个 `XMLList`,将其转换为 `XMLListCollection` 以便在 `DataGrid` 中使用。 5. **DataGrid组件**:`<mx:DataGrid>` 是用来展示数据的组件。它的 `dataProvider` 属性设置为 `users....
在Flex中,我们可以使用XMLListCollection或XMLList将XML数据绑定到List组件。通过XML对象解析XML文件,然后将其转换为适当的数据集合,这通常是通过bindable属性和mx:XML标签完成的。在"带特效的flex list"项目中,...
- **XMLList和XMLListCollection**: 将XML转换为XMLList或XMLListCollection,然后设置给Tree的`dataProvider`属性,这样就可以显示XML数据。 - **节点标签和子节点**: XML元素的文本可以作为节点的标签,而子元素...
var treeData:XMLList = xmlData.item; var treeItems:ArrayCollection = new XMLListCollection(treeData); tree.dataProvider = treeItems; ``` 3. **添加XML节点**: 要向XML对象添加新节点,可以直接调用XML对象...
要将ArrayCollection转换为XML,我们可以利用Flash的内置类`XMLList`和`XML`。例如,如果ArrayCollection中的每个项包含一个ID和名称属性,可以这样转换: ```actionscript var xmlData:XML = new XML(); for each ...
var menuData:XMLList = xml.menus.menu; // 创建数据源 var menuItems:Vector.<MenuItem> = new Vector.(); for each (var itemXML:XML in menuData) { var menuItem:MenuItem = new MenuItem(); menuItem....
在Flex中,可以使用XMLListCollection或其他方法解析XML并将其绑定到UI组件。 6. **SWF文件**:library.swf是Flex编译生成的SWF(Shockwave Flash)文件,它是运行Flex应用程序的实际二进制文件。在浏览器中,这个...
</fx:XMLList> </s:XMLListCollection> ``` 通过以上代码,我们可以看到如何在树形控件上添加事件处理器以实现动态图表的构建。`tree_itemDoubleClickHandler`函数通过获取当前选中的节点并检查其展开状态,...
2. **解析XML**:使用Flex的`XML`类或者`XMLList`类来解析XML数据。这将XML数据转换为可以被图表组件使用的格式。 3. **绑定数据**:将解析后的数据与柱状图系列(Series)进行绑定。在MXML中,我们可以通过`data...
例如,如果`books.xml`包含书籍信息,我们可以通过遍历XML节点,创建一个新的组件(如`BookList.mxml`),并将每个书籍的信息展示在这个组件上,然后添加到打印任务中。 `printDemo2.mxml`, `printDemo1.mxml`和`...
在Flex中,`DataGrid`组件是最常用的用于展示表格数据的组件,它可以绑定到各种数据源,包括Array、XMLList、甚至远程数据服务。在处理大量数据时,我们通常不会一次性加载所有数据,而是通过分页的方式逐页加载。`...
- **XMLListCollection**:与XMLList类似,用于处理XML数据。 - **DataService**:在LCDS中,用于连接到后端数据源并执行查询。 4. **连接实例** - **使用HTTPService连接数据库**:通过HTTP请求向服务器发送SQL...
在IT行业中,Flex4是一种基于ActionScript 3的框架,用于构建富互联网应用程序(RIA)。它提供了强大的组件库,使得开发者能够创建具有丰富用户界面的Web应用。在Flex4中,DataGrid是一个非常重要的组件,它用于显示...
在Flex中,数据分页通常通过使用Flex提供的各种组件和类来实现,如DataGrid、List或Accordion等。这些组件可以与数据提供者结合,如ArrayCollection或XMLListCollection,以便在用户界面上只显示一部分数据,从而...
4. **数据适配器**:DataGrid、List等组件可以配合ArrayCollection或XMLListCollection,通过数据适配器展示XML数据。 5. **状态管理**:利用Flex的_states机制,可以轻松管理不同场景下的数据展示和交互。 接下来...
对一个XMLList或E4X查询进行绑定 19.6节. 从数组中生成XML对象 19.7节. 如何处理XML服务里所返回的命名空间 19.8节. 将ActionScript 数据对象编码成XML 19.9节. 使用复杂XML数据来填充组件 19.10节. 从Web服务中把...
- 数据转换:Java需要将接收到的Flex DataGrid的数据结构(可能是JSON或XML)解析成Java对象,例如List, Object>>。 - Excel生成:使用Apache POI库,这是一个强大的API,允许我们在Java中创建、修改和操作...