您的位置:首页 > 其它

FLEX程序设计--XMLList

2009-04-26 22:53 148 查看
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 对象应用该方法。



公共属性

属性定义方

constructor : Object
对类对象或给定对象实例的构造函数的引用。
Object

prototype : Object
[] 对类或函数对象的原型对象的引用。
Object
公共方法



方法定义方
XMLList(value:Object)
创建一个新的 XMLList 对象。
XMLList
attribute(attributeName:*):XMLList
调用每个 XML 对象的 attribute() 方法并返回结果的 XMLList 对象。
XMLList
attributes():XMLList
调用每个 XML 对象的 attributes() 方法,并返回每个 XML 对象属性的 XMLList 对象。
XMLList
child(propertyName:Object):XMLList
调用每个 XML 对象的 child() 方法,并返回包含有序结果的 XMLList 对象。
XMLList
children():XMLList
调用每个 XML 对象的 children() 方法,并返回包含结果的 XMLList 对象。
XMLList
comments():XMLList
调用每个 XML 对象的 comments() 方法,并返回注释的 XMLList。
XMLList
contains(value:XML):Boolean
检查 XMLList 对象是否包含与给定的 value 参数相等的 XML 对象。
XMLList
copy():XMLList
返回给定的 XMLList 对象的副本。
XMLList
descendants(name:Object = *):XMLList
返回包含给定 name 参数的 XML 对象的所有后代(子级、孙级、曾孙级等)。
XMLList
elements(name:Object = *):XMLList
调用每个 XML 对象的 elements() 方法。
XMLList
hasComplexContent():Boolean
检查 XMLList 对象是否包含复杂内容。
XMLList
hasOwnProperty(p:String):Boolean
检查由 p 指定的属性。
XMLList
hasSimpleContent():Boolean
检查 XMLList 对象是否包含简单内容。
XMLList

isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
length():int
返回 XMLList 对象中的属性数。
XMLList
normalize():XMLList
合并相邻的文本节点,并删除下面每一项中的空文本节点:XMLList 中的所有文本节点、XMLList 中包含的所有 XML 对象,以及 XMLList 中的所有 XML 对象的后代。
XMLList
parent():Object
如果 XMLList 对象中的所有项具有相同的父级,则返回 XMLList 对象的父级。
XMLList
processingInstructions(name:String = "*"):XMLList
如果提供了 name 参数,则列出具有此名称的处理指令所属的 XMLList 对象的所有子级。
XMLList
propertyIsEnumerable(p:String):Boolean
检查属性 p 所在的属性集是否可在应用于 XMLList 对象的 for..in 语句中遍历。
XMLList

setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。
Object
text():XMLList
调用每个 XML 对象的 text() 方法并返回包含结果的 XMLList 对象。
XMLList
toString():String
返回 XMLList 对象中所有 XML 对象的字符串表示形式。
XMLList
toXMLString():String
返回 XMLList 对象中所有 XML 对象的字符串表示形式。
XMLList
valueOf():XMLList
返回 XMLList 对象。
XMLList
构造函数详细信息

XMLList()构造函数
public function XMLList(value:Object)


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
创建一个新的 XMLList 对象。

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

top-level XMLList() function

方法详细信息

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 对象。
另请参见

XML.attribute()

XML.attributes()

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
调用每个 XML 对象的
attributes()
方法,并返回每个 XML 对象属性的 XMLList 对象。

返回
XMLList
— 各个 XML 对象属性的 XMLList 对象。
另请参见

XML.attribute()

XML.attributes()

XMLList objects

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 对象。
另请参见

XML.child()

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
调用每个 XML 对象的
children()
方法,并返回包含结果的 XMLList 对象。

返回
XMLList
— XML 对象中子对象的 XMLList 对象。
另请参见

XML.children()

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
调用每个 XML 对象的
comments()
方法,并返回注释的 XMLList。

返回
XMLList
— XML 对象中注释的 XMLList。
另请参见

XML.comments()

XMLList objects

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
另请参见

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
返回给定的 XMLList 对象的副本。该副本为整个节点树的副本。复制的 XML 对象没有父级,如果尝试调用
parent()
方法,将返回
null


返回
XMLList
— XMLList 对象的副本。
另请参见

XMLList objects

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 对象。
另请参见

XML.descendants()

XMLList objects

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 对象。
另请参见

XML.elements()

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
另请参见

hasSimpleContent()

XML.hasComplexContent()

XML.hasSimpleContent()

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
检查由
p
指定的属性。

参数
p:String
— 要匹配的属性。
返回
Boolean
— 如果此参数存在,则为
true
;否则为
false
另请参见

XMLList objects

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
另请参见

hasComplexContent()

XML.hasComplexContent()

XML.hasSimpleContent()

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
返回 XMLList 对象中的属性数。

返回
int
— XMLList 对象中的属性数。
另请参见

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
合并相邻的文本节点,并删除下面每一项中的空文本节点:XMLList 中的所有文本节点、XMLList 中包含的所有 XML 对象,以及 XMLList 中的所有 XML 对象的后代。

返回
XMLList
— 标准化的 XMLList 对象。
另请参见

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
如果 XMLList 对象中的所有项具有相同的父级,则返回 XMLList 对象的父级。如果 XMLList 对象没有父级或者父级不同,则方法将返回
undefined


返回
Object
— 返回父级 XML 对象。
另请参见

XMLList objects

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 对象。
另请参见

XML.processingInstructions()

XMLList objects

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
另请参见

XMLList objects

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
调用每个 XML 对象的
text()
方法并返回包含结果的 XMLList 对象。

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

XML.text()

XMLList objects

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 对象的字符串表示形式。
另请参见

hasComplexContent()

hasSimpleContent()

toXMLString()

XMLList objects

XML type conversion

示例

下面的示例演示当 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 对象的字符串表示形式。
另请参见

toString()

XMLList objects

XML type conversion

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


语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
返回 XMLList 对象。

返回
XMLList
— 返回当前 XMLList 对象。
另请参见

XMLList objects

示例 如何使用示例
XMLListExample.as

下例创建名为
books
的 XML 属性并将多个带有
book publisher
name
标签的项添加到名为
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());
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: