FLEX程序设计--XMLList
如果 XMLList 对象只包含一个 XML 元素,那么可以直接对 XMLList 对象使用 XML 类方法。在下面的示例中,example.two
为长度 1 的 XMLList 对象,因此可以对它调用任意 XML 方法。
var example2 = <example><two>2</two></example>;
如果试图对包含多个 XML 元素的 XMLList 对象使用 XML 类方法,则会引发异常。此时,应遍历 XMLList 集合(例如,使用 for each..in
语句),并对集合中的每个 XML 对象应用该方法。
公共属性
方法 | 定义方 | ||
---|---|---|---|
创建一个新的 XMLList 对象。
|
XMLList | ||
调用每个 XML 对象的 attribute() 方法并返回结果的 XMLList 对象。
|
XMLList | ||
调用每个 XML 对象的 attributes() 方法,并返回每个 XML 对象属性的 XMLList 对象。
|
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 | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。
|
Object | ||
返回 XMLList 对象中的属性数。
|
XMLList | ||
合并相邻的文本节点,并删除下面每一项中的空文本节点:XMLList 中的所有文本节点、XMLList 中包含的所有 XML 对象,以及 XMLList 中的所有 XML 对象的后代。
|
XMLList | ||
如果 XMLList 对象中的所有项具有相同的父级,则返回 XMLList 对象的父级。
|
XMLList | ||
如果提供了 name 参数,则列出具有此名称的处理指令所属的 XMLList 对象的所有子级。
|
XMLList | ||
检查属性 p 所在的属性集是否可在应用于 XMLList 对象的 for..in 语句中遍历。
|
XMLList | ||
设置循环操作动态属性的可用性。
|
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 对象的字符串表示形式。 |
另请参见
示例
toString()
方法的返回值:
var test:XML = <type name="Joe">example</type>; trace(test.toString()); //example
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 对象。 |
另请参见
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()); } } } }