1、XML和XMLList有什么区别呢,很简单,看是否含有根节点。举例来说:
<root>
<node type="student" name="学生一">
<node type="student" name="学生二">
<node type="teacher" name="老师一">
</root>
这就是一个典型的XML,其中<root>是根节点,<node>是子节点。type,name是属性名,等号右边是属性值。而
<node type="student" name="学生一" />
<node type="student" name="学生二" />
<node type="teacher" name="老师一" />
这一部分就是一个XMLList。
注:<node type="student" name="学生一" />也可以转成成XML对象。这点在遍历xmllist时会使用到。
2、遍历xmllist。
下面是一段代码,简单介绍了从xml-->xmllist,然后遍历xmllist的过程
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" verticalAlign="middle" horizontalAlign="center" backgroundGradientColors="[0x000000,0x323232]" viewSourceURL="srcview/index.html" creationComplete="init();"> <mx:Script> <![CDATA[ import mx.controls.Alert; public function init():void{ var books:XML; books = <books> <book publisher="Addison-Wesley" name="book1" /> <book publisher="Addison-Wesley" name="book2" /> <book publisher="Addison-Wesley" name="book3" /> <book publisher="Addison-Wesley" name="book4" /> <book publisher="O'Reilly Media" name="book5" /> <book publisher="O'Reilly Media" name="book6" /> </books>; //将xml转成xmllist(取子项,下面两个方法等价) // var bookList:XMLList = books.child("*"); var bookList:XMLList = books.children(); xmllist.text = bookList; //遍历xmllist var i:int = 0; for each( var book:XML in bookList){ i++; switch(i){ case 1: //xml的取值方式如下 x1.text = book.@name; break; case 2: x2.text = book.@name; break; case 3: x3.text = book.@name; break; case 4: x4.text = book.@name; break; case 5: x5.text = book.@name; break; case 6: x6.text = book.@name; break; default: break; } } } ]]> </mx:Script> <mx:VBox> <mx:TextArea id="xmllist" width="500" height="100"> </mx:TextArea> <mx:TextArea id="x1" width="500" height="50"> </mx:TextArea> <mx:TextArea id="x2" width="500" height="50"> </mx:TextArea> <mx:TextArea id="x3" width="500" height="50"> </mx:TextArea> <mx:TextArea id="x4" width="500" height="50"> </mx:TextArea> <mx:TextArea id="x5" width="500" height="50"> </mx:TextArea> <mx:TextArea id="x6" width="500" height="50"> </mx:TextArea> </mx:VBox> </mx:Application>
执行结果:
相关推荐
在Flex中解析XML文件主要通过XML类和XMLList类来实现。XML类代表一个XML文档,而XMLList类则代表XML文档中的一个节点集。下面我们将详细介绍这两个类的使用方法。 1. **XML类**:创建XML对象可以通过XML构造函数,...
总结,Flex提供了丰富的API和特性来处理XML数据,包括XML类、E4X语法、XMLList以及各种加载和解析工具。理解并熟练运用这些技术,能帮助开发者更好地在Flex应用中实现数据的交互和展示。在实际开发中,结合源码分析...
我们可以使用XPath表达式或属性访问语法来访问XMLList中的节点。 接下来,我们关注HTTPService。HTTPService是Flex的网络服务组件,用于与Web服务器进行HTTP通信,包括GET和POST请求。在解析XML文件时,我们通常会...
7. **XML和AMF**:在Flex中,XML也可以与Action Message Format (AMF)一起使用,AMF是一种高效的序列化格式,常用于Flex与服务器之间的数据交换。 在提供的压缩包文件中,`.actionScriptProperties`、`....
- `var results:XMLList = menus.node` 获取XML文件中所有 `<node>` 元素。 - `tree.dataProvider = results` 将XML数据绑定到Tree组件,使其显示在界面上。 - `for` 循环遍历所有的子节点,并通过 `attribute(...
1. **XML处理**:Flex提供了一套完整的XML处理库,包括XML类和XMLList类。通过这些类,开发者可以方便地创建、解析和操作XML文档。例如,你可以使用`new XML(xmlString)`来实例化一个XML对象,然后通过属性和方法如`...
同时,还可以使用XMLList的concat()方法将多个XMLList对象组合成一个新的XMLList。 接下来,我们讨论无限级别的树查找。在XML树中,每个节点都可以有任意数量的子节点,形成了一种层级结构。为了在这样的结构中进行...
另一方面,如果从服务器接收XML数据,也可以通过反向操作将XML转换为ArrayCollection,以便在Flex或Flash应用中使用。 在实际项目中,你可能还需要考虑更多细节,如XML的命名空间管理、属性的添加以及错误处理等。...
在Flex开发中,数据绑定和用户交互是两个关键部分,本示例主要展示了如何将XML数据解析并绑定到ComboBox控件,以及如何通过点击Button按钮将ComboBox选定的值添加到List列表中。以下是对这个小例子的详细解释: 1. ...
可以使用`XML`类和`XMLList`来解析XML: ```actionscript var xml:XML = new XML(treeData); // treeData为XML字符串 var xmlList:XMLList = xml.node; // 获取所有顶级节点 var dataList:XMLListCollection = new ...
2. **XMLList**: 当查询XML对象时,结果通常是一个XMLList,它类似于数组,但只能通过索引访问。 3. **QName**: 用于表示命名空间的XML名称,这对于处理带有命名空间的XML至关重要。 4. **Namespace**: 用于处理XML...
本篇将详细介绍如何为Flex中的Tree组件设置不同的数据源,包括XML、Array和Object。 首先,让我们从XML数据源开始。XML因其结构化的特性,非常适合用来表示层次数据。在Flex中,我们可以使用mx.collections....
在Flex中,XML可以作为一个变量、对象或者通过XMLList来处理。XML对象提供了丰富的API,如addChild、toString等,使得在程序中操作XML变得简单。 2. **XML内容生成**: 在描述中提到的示例中,首先可能创建了一个...
在Flex中,Tree组件可以绑定到各种数据源,包括Array,ArrayCollection,以及XML或XMLList。XML因其结构化和易于解析的特性,常被用来存储和传递层次结构的数据,这与Tree组件的展示需求非常匹配。在"TreeExample"中...
在Flex编程中,`Flex DataGrid` 是一个用于展示数据集的组件,它允许用户以表格形式查看和操作数据。本示例展示了如何从XML文件加载数据并将其显示在Flex DataGrid中。以下是对该话题的详细解释: 1. **XML数据源**...
本文介绍了Flex中两种常用的读取XML文件的方法:使用`HTTPService`和`URLLoader`。这两种方法各有优势,可以根据实际项目需求选择合适的方式。`HTTPService`适用于需要更高级别控制的情况,如认证、错误处理等;而`...
- **Flex解析XML**:在Flex中,我们可以使用`XML`类和`XMLList`类来处理XML数据。它们提供了方便的方法来查询、修改和操作XML文档。 - **Java生成XML**:在Java端,可以使用DOM、SAX或StAX等API来生成和解析XML。...
XML作为一种可扩展标记语言,广泛用于数据交换和结构化数据表示,因此在Flex开发中与XML的交互是必不可少的。 在Flex中,XML生成主要涉及到以下几个关键知识点: 1. **XML类**:ActionScript 3.0提供了一个内置的...
var foundNodes:XMLList = myXML..elementName[@attribute='value']; ``` 四、XML事件监听 为了实时响应XML数据的变化,可以添加事件监听器,例如: ```actionscript myXML.addEventListener(XMLChangeEvent.CHANGE...
- **XML和XMLList类**:这两个新类为处理XML数据提供了更高效的方法。例如,`XML`类可以用来解析XML字符串并提供方便的数据访问方法,而`XMLList`类则适用于处理重复的XML元素列表。 - **E4X表达式**:E4X使得...