FLEX程序设计--XMLList

XMLList 类中包含用于处理一个或多个 XML 元素的方法。XMLList 对象可以表示一个或多个 XML 对象或元素(包括多个节点或属性),因此,可以对作为一个组的多个元素调用方法,也可以对集合中的各个元素分别调用方法。

如果 XMLList 对象只包含一个 XML 元素,那么可以直接对 XMLList 对象使用 XML 类方法。在下面的示例中,example.two 为长度 1 的 XMLList 对象,因此可以对它调用任意 XML 方法。

 var example2 = <example><two>2</two></example>;

如果试图对包含多个 XML 元素的 XMLList 对象使用 XML 类方法,则会引发异常。此时,应遍历 XMLList 集合(例如,使用 for each..in 语句),并对集合中的每个 XML 对象应用该方法。

 


公共属性

  属性 定义方
  Inherited constructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  Inherited prototype : Object
[] 对类或函数对象的原型对象的引用。
Object
公共方法
  方法 定义方
   
创建一个新的 XMLList 对象。
XMLList
   
attribute(attributeName:*):XMLList
调用每个 XML 对象的 attribute() 方法并返回结果的 XMLList 对象。
XMLList
   
调用每个 XML 对象的 attributes() 方法,并返回每个 XML 对象属性的 XMLList 对象。
XMLList
   
child(propertyName:Object):XMLList
调用每个 XML 对象的 child() 方法,并返回包含有序结果的 XMLList 对象。
XMLList
   
调用每个 XML 对象的 children() 方法,并返回包含结果的 XMLList 对象。
XMLList
   
调用每个 XML 对象的 comments() 方法,并返回注释的 XMLList。
XMLList
   
检查 XMLList 对象是否包含与给定的 value 参数相等的 XML 对象。
XMLList
   
返回给定的 XMLList 对象的副本。
XMLList
   
返回包含给定 name 参数的 XML 对象的所有后代(子级、孙级、曾孙级等)。
XMLList
   
调用每个 XML 对象的 elements() 方法。
XMLList
   
检查 XMLList 对象是否包含复杂内容。
XMLList
   
检查由 p 指定的属性。
XMLList
   
检查 XMLList 对象是否包含简单内容。
XMLList
  Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
   
返回 XMLList 对象中的属性数。
XMLList
   
合并相邻的文本节点,并删除下面每一项中的空文本节点:XMLList 中的所有文本节点、XMLList 中包含的所有 XML 对象,以及 XMLList 中的所有 XML 对象的后代。
XMLList
   
如果 XMLList 对象中的所有项具有相同的父级,则返回 XMLList 对象的父级。
XMLList
   
如果提供了 name 参数,则列出具有此名称的处理指令所属的 XMLList 对象的所有子级。
XMLList
   
检查属性 p 所在的属性集是否可在应用于 XMLList 对象的 for..in 语句中遍历。
XMLList
  Inherited
设置循环操作动态属性的可用性。
Object
   
调用每个 XML 对象的 text() 方法并返回包含结果的 XMLList 对象。
XMLList
   
返回 XMLList 对象中所有 XML 对象的字符串表示形式。
XMLList
   
返回 XMLList 对象中所有 XML 对象的字符串表示形式。
XMLList
   
返回 XMLList 对象。
XMLList
构造函数详细信息
XMLList () 构造函数
public function XMLList(value:Object)

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

创建一个新的 XMLList 对象。

参数
value:Object — 任何可以通过使用顶级 XMLList() 函数转换为 XMLList 对象的对象。

另请参见

方法详细信息
attribute () 方法
AS3 function attribute(attributeName:*):XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 attribute() 方法并返回结果的 XMLList 对象。结果与给定的 attributeName 参数相匹配。如果不匹配,则 attribute() 方法将返回一个空 XMLList 对象。

参数

attributeName:* — 想要包含在 XMLList 对象的属性名称。

 

返回
XMLList — 匹配 XML 对象的 XMLList 对象或空 XMLList 对象。

另请参见

attributes () 方法  
AS3 function attributes():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 attributes() 方法,并返回每个 XML 对象属性的 XMLList 对象。

 

返回
XMLList — 各个 XML 对象属性的 XMLList 对象。

另请参见

child () 方法  
AS3 function child(propertyName:Object):XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 child() 方法,并返回包含有序结果的 XMLList 对象。

参数

propertyName:Object — XML 子对象的元素名称或整数。

 

返回
XMLList — 与输入参数匹配的子节点的 XMLList 对象。

另请参见

children () 方法  
AS3 function children():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 children() 方法,并返回包含结果的 XMLList 对象。

 

返回
XMLList — XML 对象中子对象的 XMLList 对象。

另请参见

comments () 方法  
AS3 function comments():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 comments() 方法,并返回注释的 XMLList。

 

返回
XMLList — XML 对象中注释的 XMLList。

另请参见

contains () 方法  
AS3 function contains(value:XML):Boolean

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

检查 XMLList 对象是否包含与给定的 value 参数相等的 XML 对象。

参数

value:XML — 与当前 XMLList 对象比较的 XML 对象。

 

返回
Boolean — 如果 XMLList 包含 value 参数中声明的 XML 对象,则为 true;否则为 false

另请参见

copy () 方法  
AS3 function copy():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

返回给定的 XMLList 对象的副本。该副本为整个节点树的副本。复制的 XML 对象没有父级,如果尝试调用 parent() 方法,将返回 null

 

返回
XMLList — XMLList 对象的副本。

另请参见

descendants () 方法  
AS3 function descendants(name:Object = *):XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

返回包含给定 name 参数的 XML 对象的所有后代(子级、孙级、曾孙级等)。name 参数可以为 QName 对象、String 数据类型或随后转换为 String 数据类型的任何其它数据类型。

若要返回所有后代,请使用星号 (*) 参数。如果未传递任何参数,则传递字符串“*”,并返回此 XML 对象的所有后代。

 

参数

name:Object (default = *) — 要匹配的元素的名称。

 

返回
XMLList — 原始列表中 XML 对象的匹配后代(子级、孙级等)的 XMLList 对象。如果没有后代,则返回空的 XMLList 对象。

另请参见

elements () 方法  
AS3 function elements(name:Object = *):XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 elements() 方法。将 name 参数传递给 descendants() 方法。如果未传递任何参数,则将字符串“*”传递给 descendants() 方法。

参数

name:Object (default = *) — 要匹配的元素的名称。

 

返回
XMLList — XML 对象的匹配子元素的 XMLList 对象。

另请参见

hasComplexContent () 方法  
AS3 function hasComplexContent():Boolean

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

检查 XMLList 对象是否包含复杂内容。如果 XMLList 对象不为空且以下任一条件为 true,则该对象将视为包含复杂内容:

  • XMLList 对象包含一个具有复杂内容的 XML 项。
  • XMLList 对象包含元素。

 

 

返回
Boolean — 如果 XMLList 对象包含复杂内容,则为 true;否则为 false

另请参见

hasOwnProperty () 方法  
AS3 function hasOwnProperty(p:String):Boolean

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

检查由 p 指定的属性。

参数

p:String — 要匹配的属性。

 

返回
Boolean — 如果此参数存在,则为 true;否则为 false

另请参见

hasSimpleContent () 方法  
AS3 function hasSimpleContent():Boolean

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

检查 XMLList 对象是否包含简单内容。如果以下一个或多个条件为 true,则将 XMLList 对象视为包含简单内容:

  • XMLList 对象为空
  • XMLList 对象包含单个带有简单内容的 XML 项
  • XMLList 对象不包含元素

 

 

返回
Boolean — 如果 XMLList 包含简单内容,则为 true;否则为 false

另请参见

length () 方法  
AS3 function length():int

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

返回 XMLList 对象中的属性数。

 

返回
int — XMLList 对象中的属性数。

另请参见

normalize () 方法  
AS3 function normalize():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

合并相邻的文本节点,并删除下面每一项中的空文本节点:XMLList 中的所有文本节点、XMLList 中包含的所有 XML 对象,以及 XMLList 中的所有 XML 对象的后代。

 

返回
XMLList — 标准化的 XMLList 对象。

另请参见

parent () 方法  
AS3 function parent():Object

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

如果 XMLList 对象中的所有项具有相同的父级,则返回 XMLList 对象的父级。如果 XMLList 对象没有父级或者父级不同,则方法将返回 undefined

 

返回
Object — 返回父级 XML 对象。

另请参见

processingInstructions () 方法  
AS3 function processingInstructions(name:String = "*"):XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

如果提供了 name 参数,则列出具有此名称的处理指令所属的 XMLList 对象的所有子级。如果没有参数,则方法将列出包含任意处理指令的 XMLList 对象的所有子级。

参数

name:String (default = "*") — 要匹配的处理指令的名称。

 

返回
XMLList — 包含每个 XML 对象的处理指令的 XMLList 对象。

另请参见

propertyIsEnumerable () 方法  
AS3 function propertyIsEnumerable(p:String):Boolean

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

检查属性 p 所在的属性集是否可在应用于 XMLList 对象的 for..in 语句中遍历。只有 toNumber(p) 大于等于 0 且小于 XMLList 对象的长度时,才为 true

参数

p:String — 要检查的属性的索引。

 

返回
Boolean — 如果该属性可以在 for..in 语句中,则为 true;否则为 false

另请参见

text () 方法  
AS3 function text():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

调用每个 XML 对象的 text() 方法并返回包含结果的 XMLList 对象。

 

返回
XMLList — 一个 XMLList 对象,其中包含表示 XML 文本节点的 XMLList 对象的所有 XML 属性。

另请参见

toString () 方法  
AS3 function toString():String

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

返回 XMLList 对象中所有 XML 对象的字符串表示形式。此转换的规则取决于 XML 对象包含的是简单内容还是复杂内容:

  • 如果 XML 对象包含简单内容,toString() 将返回 XML 对象的字符串内容,但从中除去了以下内容:开始标签、属性、命名空间声明和结束标签。
  • 如果 XML 对象包含复杂内容,toString() 将返回 XML 编码字符串,该字符串表示完整的 XML 对象,包括开始标签、属性、命名空间声明和结束标签。

若要每次都返回完整的 XML 对象,请使用 toXMLString() 方法。

 

 

返回
String — XML 对象的字符串表示形式。

另请参见


示例

下面的示例演示当 XML 对象包含简单内容时 toString() 方法的返回值:
var test:XML = <type name="Joe">example</type>;
trace(test.toString()); //example

下面的示例演示当 XML 对象包含复杂内容时 toString() 方法的返回值:
var test:XML =
<type name="Joe">
<base name="Bob"></base>
example
</type>;
trace(test.toString());
// <type name="Joe">
// <base name="Bob"/>
// example
// </type>
toXMLString () 方法  
AS3 function toXMLString():String

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

返回 XMLList 对象中所有 XML 对象的字符串表示形式。与 toString() 方法不同,toXMLString() 方法始终返回 XML 对象的开始标签、属性和结束标签,与 XML 对象包含的是简单内容还是复杂内容无关。(toString() 方法去除包含简单内容的 XML 对象的这些项。)

 

返回
String — XML 对象的字符串表示形式。

另请参见

valueOf () 方法  
AS3 function valueOf():XMLList

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

 

返回 XMLList 对象。

 

返回
XMLList — 返回当前 XMLList 对象。

另请参见

XMLListExample.as

下例创建名为 books 的 XML 属性并将多个带有 book publishername 标签的项添加到名为 books 的节点。然后调用 showBooksByPublisher() 方法,该方法接收 XMLList 并返回与发行人“Addison-Wesley”匹配的每一项。
package {
import flash.display.Sprite;
public class XMLListExample extends Sprite {
private var books:XML;
public function XMLListExample() {
books =    <books>
<book publisher="Addison-Wesley" name="Design Patterns" />
<book publisher="Addison-Wesley" name="The Pragmatic Programmer" />
<book publisher="Addison-Wesley" name="Test Driven Development" />
<book publisher="Addison-Wesley" name="Refactoring to Patterns" />
<book publisher="O'Reilly Media" name="The Cathedral & the Bazaar" />
<book publisher="O'Reilly Media" name="Unit Test Frameworks" />
</books>;
showBooksByPublisher("Addison-Wesley");
}
private function showBooksByPublisher(name:String):void {
var results:XMLList = books.book.(@publisher == name);
showList(results);
}
private function showList(list:XMLList):void {
var item:XML;
for each(item in list) {
trace("item: " + item.toXMLString());
}
}
}
}
posted @ 2009-04-26 22:53  温景良(Jason)  Views(2627)  Comments(0Edit  收藏  举报