包 | 顶级 |
类 | public final dynamic class XML |
继承 | XML Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
使用 toXMLString()
方法可返回 XML 对象的字符串表示形式,不管该 XML 对象具有简单内容还是复杂内容。
注意:ActionScript 2.0 中的 XML 类(以及相关类)已重命名为 XMLDocument 并移到 flash.xml 包中。它包含在 ActionScript 3.0 中,以实现向后兼容。
了解详细信息
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
ignoreComments : Boolean [静态]
确定当 XML 对象分析源 XML 数据时,是否忽略 XML 注释。 | XML | ||
ignoreProcessingInstructions : Boolean [静态]
确定当 XML 对象分析源 XML 数据时,是否忽略 XML 处理指令。 | XML | ||
ignoreWhitespace : Boolean [静态]
确定分析期间是否忽略文本节点开头和末尾处的空白字符。 | XML | ||
prettyIndent : int [静态]
确定当 XML.prettyPrinting 属性设置为 true 时,toString() 和 toXMLString() 方法所应用的缩进量。 | XML | ||
prettyPrinting : Boolean [静态]
确定 toString() 和 toXMLString() 方法是否对某些标签之间的空白字符进行规格化。 | XML |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建一个新的 XML 对象。 | XML | ||
可将命名空间添加到该 XML 对象所在范围的命名空间集中。 | XML | ||
将给定子项追加到该 XML 对象属性的末尾。 | XML | ||
返回其名称与 attributeName 参数相符的属性的 XML 值。 | XML | ||
返回给定 XML 对象的属性值列表。 | XML | ||
列出 XML 对象的子项。 | XML | ||
确定该 XML 对象在其父项上下文中从 0 开始编制索引的位置。 | XML | ||
按 XML 对象的显示顺序列出其子项。 | XML | ||
列出包含 XML 注释的 XML 对象的属性。 | XML | ||
对比该 XML 对象与给定 value 参数。 | XML | ||
返回给定 XML 对象的副本。 | XML | ||
[静态]
返回一个下列属性设置为默认值的对象:ignoreComments、ignoreProcessingInstructions、ignoreWhitespace、prettyIndent 和 prettyPrinting。 | XML | ||
返回包含给定 name 参数的 XML 对象的所有后代(子级、孙级、曾孙级等)。 | XML | ||
列出某 XML 对象的元素。 | XML | ||
检查该 XML 对象是否包含复杂内容。 | XML | ||
检查该对象是否具有 p 参数所指定的属性。 | XML | ||
检查该 XML 对象是否包含简单内容。 | XML | ||
根据该 XML 对象的父项列出其命名空间。 | XML | ||
在该 XML 对象的 child1 参数后插入给定的 child2 参数并返回生成的对象。 | XML | ||
在该 XML 对象的 child1 参数前插入给定的 child2 参数并返回生成的对象。 | XML | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
对于 XML 对象,该方法始终返回整数 1。 | XML | ||
提供该 XML 对象限定名称的本地名称部分。 | XML | ||
提供该 XML 对象的限定名称。 | XML | ||
如果没有提供参数,则提供与该 XML 对象的限定名关联的命名空间。 | XML | ||
在该 XML 对象的父项中列出与其关联的命名空间声明。 | XML | ||
指定节点的类型:文本、注释、处理指令、属性或元素。 | XML | ||
对于该 XML 对象以及所有子级 XML 对象,合并相邻文本节点并删除空文本节点。 | XML | ||
返回 XML 对象的父项。 | XML | ||
将提供的 child 对象的副本插入 XML 元素中,并放在该元素的任何现有 XML 属性前面。 | XML | ||
如果提供了 name 参数,则列出 XML 对象中包含带有该 name 的处理指令的所有子项。 | XML | ||
检查属性 p 所在的属性集是否可在应用于 XMLList 对象的 for..in 语句中遍历。 | XML | ||
删除该对象及其所有子级的给定命名空间。 | XML | ||
用给定的 value 参数替换 propertyName 参数所指定的属性。 | XML | ||
用 value 参数中提供的指定 XML 属性集替换该 XML 对象的子属性。 | XML | ||
将该 XML 对象的本地名称更改为给定的 name 参数。 | XML | ||
将该 XML 对象的名称设置为给定限定名称或属性名。 | XML | ||
设置与该 XML 对象关联的命名空间。 | XML | ||
设置循环操作动态属性的可用性。 | Object | ||
[静态]
设置下列 XML 属性的值:ignoreComments、ignoreProcessingInstructions、ignoreWhitespace、prettyIndent 和 prettyPrinting。 | XML | ||
[静态]
检索下列属性:ignoreComments、ignoreProcessingInstructions、ignoreWhitespace、prettyIndent 和 prettyPrinting。 | XML | ||
返回 XML 对象用来表示 XML 文本节点的所有 XML 属性的 XMLList 对象。 | XML | ||
提供一种可覆盖的方法,用于在 XML 对象中自定义值的 JSON 编码。 | XML | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回 XML 对象的字符串表示形式。 | XML | ||
返回 XML 对象的字符串表示形式。 | XML | ||
返回该 XML 对象。 | XML |
ignoreComments | 属性 |
ignoreComments:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
确定当 XML 对象分析源 XML 数据时,是否忽略 XML 注释。默认情况下,将忽略注释 (true
)。要包括 XML 注释,请将此属性设置为 false
。ignoreComments
属性仅在 XML 分析过程中使用,而不能在调用任何方法(例如,myXMLObject.child(*).toXMLString()
)时使用。如果源 XML 包含注释节点,可在 XML 分析过程中保留或丢弃这些节点。
实现
public static function get ignoreComments():Boolean
public static function set ignoreComments(value:Boolean):void
相关 API 元素
示例 ( 如何使用本示例 )
XML.ignoreComments
设置为 false
以及设置为 true
的效果:
XML.ignoreComments = false; var xml1:XML = <foo> <!-- comment --> </foo>; trace(xml1.toXMLString()); // <foo><!-- comment --></foo> XML.ignoreComments = true; var xml2:XML = <foo> <!-- example --> </foo>; trace(xml2.toXMLString()); // <foo/>
ignoreProcessingInstructions | 属性 |
ignoreProcessingInstructions:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
确定当 XML 对象分析源 XML 数据时,是否忽略 XML 处理指令。默认情况下,将忽略处理指令 (true
)。要包括 XML 处理指令,请将此属性设置为 false
。ignoreProcessingInstructions
属性仅在 XML 分析过程中使用,而不能在调用任何方法(例如,myXMLObject.child(*).toXMLString()
)时使用。如果源 XML 包含处理指令节点,可在 XML 分析过程中保留或丢弃这些节点。
实现
public static function get ignoreProcessingInstructions():Boolean
public static function set ignoreProcessingInstructions(value:Boolean):void
相关 API 元素
示例 ( 如何使用本示例 )
XML.ignoreProcessingInstructions
设置为 false
以及设置为 true
的效果:
XML.ignoreProcessingInstructions = false; var xml1:XML = <foo> <?exampleInstruction ?> </foo>; trace(xml1.toXMLString()); // <foo><?exampleInstruction ?></foo> XML.ignoreProcessingInstructions = true; var xml2:XML = <foo> <?exampleInstruction ?> </foo>; trace(xml2.toXMLString()); // <foo/>
ignoreWhitespace | 属性 |
ignoreWhitespace:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
确定分析期间是否忽略文本节点开头和末尾处的空白字符。默认情况下,将忽略空白 (true
)。如果文本节点 100% 是空白,且 ignoreWhitespace
属性设置为 true
,则不会创建该节点。要显示文本节点中的空白,请将 ignoreWhitespace
属性设置为 false
。
创建 XML 对象时,它将缓存 ignoreWhitespace
属性的当前值。更改 ignoreWhitespace
不会更改现有 XML 对象的行为。
实现
public static function get ignoreWhitespace():Boolean
public static function set ignoreWhitespace(value:Boolean):void
示例 ( 如何使用本示例 )
XML.ignoreWhitespace
设置为 false
以及设置为 true
的效果:
XML.ignoreWhitespace = false; var xml1:XML = <foo> </foo>; trace(xml1.children().length()); // 1 XML.ignoreWhitespace = true; var xml2:XML = <foo> </foo>; trace(xml2.children().length()); // 0
prettyIndent | 属性 |
prettyIndent:int
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
确定当 XML.prettyPrinting
属性设置为 true
时,toString()
和 toXMLString()
方法所应用的缩进量。应用缩进时使用空格字符,而不是制表符。默认值为 2
。
实现
public static function get prettyIndent():int
public static function set prettyIndent(value:int):void
相关 API 元素
示例 ( 如何使用本示例 )
XML.prettyIndent
静态属性的效果:
var xml:XML = <foo><bar/></foo>; XML.prettyIndent = 0; trace(xml.toXMLString()); XML.prettyIndent = 1; trace(xml.toXMLString()); XML.prettyIndent = 2; trace(xml.toXMLString());
prettyPrinting | 属性 |
prettyPrinting:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
确定 toString()
和 toXMLString()
方法是否对某些标签之间的空白字符进行规格化。默认值为 true
。
实现
public static function get prettyPrinting():Boolean
public static function set prettyPrinting(value:Boolean):void
相关 API 元素
示例 ( 如何使用本示例 )
XML.prettyPrinting
静态属性的效果:
var xml:XML = <foo><bar/></foo>; XML.prettyPrinting = false; trace(xml.toXMLString()); XML.prettyPrinting = true; trace(xml.toXMLString());
XML | () | 构造函数 |
public function XML(value:Object)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
创建一个新的 XML 对象。调用 XML 类的方法之前,必须使用该构造函数创建一个 XML 对象。
使用 toXMLString()
方法可返回 XML 对象的字符串表示形式,不管该 XML 对象具有简单内容还是复杂内容。
value:Object — 可通过顶级 XML() 函数转换为 XML 的任意对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
// // Requires: // - TextArea control UI component in the Flash Professional Library. // import fl.controls.TextArea; var xml:XML; var urlRequest:URLRequest = new URLRequest("http://www.helpexamples.com/flash/xml/menu.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); var textArea:TextArea = new TextArea(); textArea.move(5, 5); textArea.setSize(stage.stageWidth - 10, stage.stageHeight - 10); addChild(textArea); function urlLoader_complete(evt:Event):void { xml = new XML(evt.currentTarget.data); textArea.text = xml.toXMLString(); }
var xml:XML; var textArea:TextField = new TextField(); textArea.width = 300; var urlRequest:URLRequest = new URLRequest("http://www.helpexamples.com/flash/xml/menu.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(evt:Event):void { xml = new XML(evt.target.data); textArea.text = xml.toXMLString(); addChild(textArea); }
addNamespace | () | 方法 |
AS3 function addNamespace(ns:Object):XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
可将命名空间添加到该 XML 对象所在范围的命名空间集中。如果 XML 对象(其前缀与给定参数的前缀匹配)所在范围的命名空间中已存在该命名空间,则现有命名空间的前缀将设置为 undefined
。如果输入参数是一个 Namespace 对象,则直接使用该参数。如果它是一个 QName 对象,则使用输入参数的 URI 创建新的命名空间;否则,会将它转换为一个 String 值并根据该 String 值创建命名空间。
参数
ns:Object — 要添加到 XML 对象中的命名空间。
|
XML — 添加了命名空间的新 XML 对象。
|
示例 ( 如何使用本示例 )
var xml1:XML = <ns:foo xmlns:ns="www.example.com/ns" />; var nsNamespace:Namespace = xml1.namespace(); var xml2:XML = <bar />; xml2.addNamespace(nsNamespace); trace(xml2.toXMLString()); // <bar xmlns:ns="www.example.com/ns"/>
appendChild | () | 方法 |
AS3 function appendChild(child:Object):XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
将给定子项追加到该 XML 对象属性的末尾。appendChild()
方法可采用 XML 对象、XMLList 对象或随后转换为 String 的任何其他数据类型。
使用 delete
(XML) 运算符删除 XML 节点。
参数
child:Object — 要追加的 XML 对象。
|
XML — 生成的 XML 对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
var xml:XML = <body> <p>hello</p> </body>; xml.appendChild(<p>world</p>); trace(xml.p[0].toXMLString()); // <p>hello</p> trace(xml.p[1].toXMLString()); // <p>world</p>
attribute | () | 方法 |
AS3 function attribute(attributeName:*):XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回其名称与 attributeName
参数相符的属性的 XML 值。可在 XML 元素内找到属性。在以下示例中,元素具有名为“gender
”的属性,其值为“boy
”:<first gender="boy">John</first>
。
attributeName
参数可以是任何数据类型;但 String 是最常用的数据类型。在传递 QName 对象之外的任何对象时,attributeName
参数会使用 toString()
方法将参数转换为字符串。
如果需要一个限定名称引用,可以传入 QName 对象。QName 对象可定义命名空间和本地名称,还可定义属性的限定名称。因此,调用 attribute(qname)
不同于调用 attribute(qname.toString())
。
参数
attributeName:* — 属性的名称。
|
XMLList — 一个 XMLList 对象或空的 XMLList 对象。在未定义属性值时返回一个空的 XMLList 对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
attribute()
方法。localName
属性为 attr
,namespace
属性为 ns
。
var xml:XML = <ns:node xmlns:ns = "http://uri" ns:attr = '7' /> var qn:QName = new QName("http://uri", "attr"); trace (xml.attribute(qn)); // 7
attribute()
方法替代 attribute identifier (@) 运算符,如下面的示例所示:
var xml:XML = <example class="first" /> trace(xml.attribute("class"));
attributes | () | 方法 |
AS3 function attributes():XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回给定 XML 对象的属性值列表。结合使用 name()
方法和 attributes()
方法可返回属性的名称。使用 xml.attributes()
等效于 xml.@*
。
XMLList — 属性值的列表。
|
相关 API 元素
示例 ( 如何使用本示例 )
var xml:XML=<example id='123' color='blue'/> trace(xml.attributes()[1].name()); //color
var xml:XML = <example id='123' color='blue'/> var attNamesList:XMLList = xml.@*; trace (attNamesList is XMLList); // true trace (attNamesList.length()); // 2 for (var i:int = 0; i < attNamesList.length(); i++) { trace (typeof (attNamesList[i])); // xml trace (attNamesList[i].nodeKind()); // attribute trace (attNamesList[i].name()); // id and color }
child | () | 方法 |
AS3 function child(propertyName:Object):XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
列出 XML 对象的子项。一个 XML 子项就是一个 XML 元素、文本节点、注释或处理指令。
使用 propertyName
参数可列出特定 XML 子项的内容。例如,要返回名为 <first>
的子项的内容,请对 XML 对象调用 child("first")
。使用子项的索引编号,可以生成相同的结果。索引编号标识该子项在其他 XML 子项列表中的位置。例如,child(0)
会返回列表中的第一个子项。
使用星号 (*) 可输出 XML 文档中的所有子项。例如,doc.child("*")
。
结合使用 length()
方法与 child()
方法的星号 (*) 参数可输出子项的总数。例如,numChildren = doc.child("*").length()
。
参数
propertyName:Object — XML 子对象的元素名称或整数。
|
XMLList — 与输入参数匹配的子节点的 XMLList 对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
child()
方法识别具有指定名称的子元素:
var xml:XML = <foo> <bar>text1</bar> <bar>text2</bar> </foo>; trace(xml.child("bar").length()); // 2 trace(xml.child("bar")[0].toXMLString()); // <bar>text1</bar> trace(xml.child("bar")[1].toXMLString()); // <bar>text2</bar>
childIndex | () | 方法 |
AS3 function childIndex():int
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
确定该 XML 对象在其父项上下文中从 0 开始编制索引的位置。
返回int — 对象的位置。返回 -1 以及正整数。
|
示例 ( 如何使用本示例 )
childIndex()
方法:
var xml:XML = <foo> <bar /> text <bob /> </foo>; trace(xml.bar.childIndex()); // 0 trace(xml.bob.childIndex()); // 2
children | () | 方法 |
AS3 function children():XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
按 XML 对象的显示顺序列出其子项。一个 XML 子项就是一个 XML 元素、文本节点、注释或处理指令。
返回XMLList — XML 对象子项的 XMLList 对象。
|
示例 ( 如何使用本示例 )
children()
方法:
XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var xml:XML = <foo id="22"> <bar>44</bar> text <!-- comment --> <?instruction ?> </foo>; trace(xml.children().length()); // 4 trace(xml.children()[0].toXMLString()); // <bar>44</bar> trace(xml.children()[1].toXMLString()); // text trace(xml.children()[2].toXMLString()); // <!-- comment --> trace(xml.children()[3].toXMLString()); // <?instruction ?>
comments | () | 方法 |
AS3 function comments():XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
列出包含 XML 注释的 XML 对象的属性。
返回XMLList — 包含注释的属性的 XMLList 对象。
|
示例 ( 如何使用本示例 )
comments()
方法:
XML.ignoreComments = false; var xml:XML = <foo> <!-- example --> <!-- example2 --> </foo>; trace(xml.comments().length()); // 2 trace(xml.comments()[1].toXMLString()); // <!-- example2 -->
contains | () | 方法 |
AS3 function contains(value:XML):Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
对比该 XML 对象与给定 value
参数。
参数
value:XML — 要与当前 XML 对象进行对比的值。
|
Boolean — 如果 XML 对象与 value 参数匹配,则为 true ;否则为 false 。
|
示例 ( 如何使用本示例 )
contains()
方法:
var xml:XML = <order> <item>Rice</item> <item>Kung Pao Shrimp</item> </order>; trace(xml.item[0].contains(<item>Rice</item>)); // true trace(xml.item[1].contains(<item>Kung Pao Shrimp</item>)); // true trace(xml.item[1].contains(<item>MSG</item>)); // false
copy | () | 方法 |
AS3 function copy():XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回给定 XML 对象的副本。该副本为整个节点树的副本。复制的 XML 对象没有父级,如果尝试调用 parent()
方法,将返回 null
。
XML — 对象的副本。
|
示例 ( 如何使用本示例 )
copy()
方法如何创建 XML 对象的新实例。修改副本时,原始对象保持不变:
var xml1:XML = <foo />; var xml2:XML = xml1.copy(); xml2.appendChild(<bar />); trace(xml1.bar.length()); // 0 trace(xml2.bar.length()); // 1
defaultSettings | () | 方法 |
AS3 static function defaultSettings():Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回一个下列属性设置为默认值的对象:ignoreComments
、ignoreProcessingInstructions
、ignoreWhitespace
、prettyIndent
和 prettyPrinting
。其默认值如下:
ignoreComments = true
ignoreProcessingInstructions = true
ignoreWhitespace = true
prettyIndent = 2
prettyPrinting = true
注意:不要将此方法应用于 XML 类的实例;应将其应用于 XML
,如以下代码所示:var df:Object = XML.defaultSettings()
。
Object — 属性设置为默认设置的对象。
|
相关 API 元素
XML.ignoreProcessingInstructions
XML.ignoreWhitespace
XML.prettyIndent
XML.prettyPrinting
XML.setSettings()
XML.settings()
示例 ( 如何使用本示例 )
XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var customSettings:Object = XML.settings(); var xml1:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml1.toXMLString()); // <foo> // <!-- comment --> // <?instruction ?> // </foo> XML.setSettings(XML.defaultSettings()); var xml2:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml2.toXMLString());
descendants | () | 方法 |
AS3 function descendants(name:Object = *):XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回包含给定 name
参数的 XML 对象的所有后代(子级、孙级、曾孙级等)。name
参数是可选项。name
参数可以为 QName 对象、String 数据类型或随后转换为 String 数据类型的任何其他数据类型。
要返回所有后代,请使用“*”参数。如果未传递任何参数,则传递字符串“*”,并返回此 XML 对象的所有后代。
参数
name:Object (default = * ) — 要匹配的元素的名称。
|
XMLList — 匹配后代的 XMLList 对象。如果没有后代,则返回空的 XMLList 对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
descendants()
方法,而不要使用 descendant (..) 运算符,如下面的示例所示:
var xml:XML = <enrollees> <student id="239"> <class name="Algebra" /> <class name="Spanish 2"/> </student> <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student> </enrollees> trace(xml.descendants("class"));
descendants()
方法如何返回包含所有后代对象(包括子级、孙级等)的 XMLList 对象:
XML.ignoreComments = false; var xml:XML = <body> <!-- comment --> text1 <a> <b>text2</b> </a> </body>; trace(xml.descendants("*").length()); // 5 trace(xml.descendants("*")[0]); // // <!-- comment --> trace(xml.descendants("*")[1].toXMLString()); // text1 trace(xml.descendants("a").toXMLString()); // <a><b>text2</b></a> trace(xml.descendants("b").toXMLString()); // <b>text2</b>
elements | () | 方法 |
AS3 function elements(name:Object = *):XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
列出某 XML 对象的元素。一个由开始和结束标签组成的元素;例如 <first></first>
。name
参数是可选项。name
参数可以为 QName 对象、String 数据类型或随后转换为 String 数据类型的任何其他数据类型。使用 name
参数可列出特定元素。例如,以下示例中的元素“first
”返回“John
”:<first>John</first>
。
要列出所有元素,请使用星号 (*) 作为参数。该星号也是默认参数。
使用带星号参数的 length()
方法可输出元素的总数。例如,numElement = addressbook.elements("*").length()
。
参数
name:Object (default = * ) — 元素的名称。元素的名称由尖括号括起。例如,以下示例中的“first ”为 name :<first></first> 。
|
XMLList — 元素内容的 XMLList 对象。元素内容位于起始和结束标签之间。如果使用星号 (*) 调用所有元素,将返回元素的标签和内容。
|
相关 API 元素
示例 ( 如何使用本示例 )
elements()
方法只返回元素列表,而不返回注释、文本属性或处理指令:
var xml:XML = <foo> <!-- comment --> <?instruction ?> text <a>1</a> <b>2</b> </foo>; trace(xml.elements("*").length()); // 2 trace(xml.elements("*")[0].toXMLString()); // <a>1</a> trace(xml.elements("b").length()); // 1 trace(xml.elements("b")[0].toXMLString()); // <b>2</b>
elements()
方法替代 XML dot (.) 运算符,如下面的示例所示:
var xml:XML = <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student> trace(xml.elements("class"));
hasComplexContent | () | 方法 |
AS3 function hasComplexContent():Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
检查该 XML 对象是否包含复杂内容。如果 XML 对象具有子元素,则表明它包含复杂内容。表示属性、注释、处理指令和文本节点的 XML 对象不包含复杂内容。但是,仍可将包含上述内容的对象视为包含复杂内容(条件是该对象具有子元素)。
返回Boolean — 如果 XML 对象包含复杂内容,则为 true ,否则为 false 。
|
相关 API 元素
示例 ( 如何使用本示例 )
a
的属性,以及一个包含复杂内容的名为 a
的属性:
var xml:XML = <foo> <a> text </a> <a> <b/> </a> </foo>; trace(xml.a[0].hasComplexContent()); // false trace(xml.a[1].hasComplexContent()); // true trace(xml.a[0].hasSimpleContent()); // true trace(xml.a[1].hasSimpleContent()); // false
hasOwnProperty | () | 方法 |
AS3 function hasOwnProperty(p:String):Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
检查该对象是否具有 p
参数所指定的属性。
参数
p:String — 要匹配的属性。
|
Boolean — 如果此属性存在,则为 true ;否则为 false 。
|
示例 ( 如何使用本示例 )
hasOwnProperty()
方法,以确保属性 (b
) 在计算使用该属性的表达式 (b == "11"
) 之前便已存在:
var xml:XML = <foo> <a /> <a> <b>10</b> </a> <a> <b>11</b> </a> </foo>; trace(xml.a.(hasOwnProperty("b") && b == "11"));
a
)不具有名为 b
的属性:
trace(xml.a.(b == "11"));
hasOwnProperty()
方法,以确保属性 (item
) 在计算使用该属性的表达式 (item.contains("toothbrush")
) 之前便已存在:
var xml:XML = <orders> <order id='1'> <item>toothbrush</item> <item>toothpaste</item> </order> <order> <returnItem>shoe polish</returnItem> </order> </orders>; trace(xml.order.(hasOwnProperty("item") && item.contains("toothbrush")));
hasSimpleContent | () | 方法 |
AS3 function hasSimpleContent():Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
检查该 XML 对象是否包含简单内容。如果 XML 对象表示文本节点、属性节点或不包含子元素的 XML 元素,则表明它包含简单内容。表示注释和处理指令的 XML 对象不包含简单内容。
返回Boolean — 如果 XML 对象包含简单内容,则为 true ,否则为 false 。
|
相关 API 元素
示例 ( 如何使用本示例 )
a
的属性,以及一个包含复杂内容的名为 a
的属性:
var xml:XML = <foo> <a> text </a> <a> <b/> </a> </foo>; trace(xml.a[0].hasComplexContent()); // false trace(xml.a[1].hasComplexContent()); // true trace(xml.a[0].hasSimpleContent()); // true trace(xml.a[1].hasSimpleContent()); // false
inScopeNamespaces | () | 方法 |
insertChildAfter | () | 方法 |
AS3 function insertChildAfter(child1:Object, child2:Object):*
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
在该 XML 对象的 child1
参数后插入给定的 child2
参数并返回生成的对象。如果 child1
参数为 null
,则该方法将在 XML 对象的所有子项之前 插入 child2
的内容(也就是说,不 在任何子项之后)。如果提供 child1
,但 XML 对象中不包含该参数,则不修改该 XML 对象并返回 undefined
。
如果对不是元素(文本、属性、注释、pi 等等)的 XML 子项调用该方法,则返回 undefined
。
使用 delete
(XML) 运算符删除 XML 节点。
参数
child1:Object — 在 child2 之前插入的源对象中的对象。
| |
child2:Object — 要插入的对象。
|
* — 生成的 XML 对象或 undefined 。
|
相关 API 元素
示例 ( 如何使用本示例 )
var xml:XML = <menu> <item>burger</item> <item>soda</item> </menu>; xml.insertChildAfter(xml.item[0], <saleItem>fries</saleItem>); trace(xml);
trace()
输出如下所示:
<menu>
<item>burger</item>
<saleItem>fries</saleItem>
<item>soda</item>
</menu>
insertChildBefore | () | 方法 |
AS3 function insertChildBefore(child1:Object, child2:Object):*
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
在该 XML 对象的 child1
参数前插入给定的 child2
参数并返回生成的对象。如果 child1
参数为 null
,则该方法将在 XML 对象的所有子项之后 插入 child2
的内容(也就是说,不 在任何子项之前)。如果提供 child1
,但 XML 对象中不包含该参数,则不修改该 XML 对象并返回 undefined
。
如果对不是元素(文本、属性、注释、pi 等等)的 XML 子项调用该方法,则返回 undefined
。
使用 delete
(XML) 运算符删除 XML 节点。
参数
child1:Object — 在 child2 之后插入的源对象中的对象。
| |
child2:Object — 要插入的对象。
|
* — 生成的 XML 对象或 undefined 。
|
相关 API 元素
示例 ( 如何使用本示例 )
var xml:XML = <menu> <item>burger</item> <item>soda</item> </menu>; xml.insertChildBefore(xml.item[0], <saleItem>fries</saleItem>); trace(xml);
trace()
输出如下所示:
<menu> <saleItem>fries</saleItem> <item>burger</item> <item>soda</item> </menu>
length | () | 方法 |
localName | () | 方法 |
AS3 function localName():Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
提供该 XML 对象限定名称的本地名称部分。
返回Object — 作为 String 或 null 的本地名称。
|
示例 ( 如何使用本示例 )
localName()
方法:
var xml:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:wx = "http://example.com/weather"> <wx:forecast> <wx:city>Quito</wx:city> </wx:forecast> </soap:Body> </soap:Envelope>; trace(xml.localName()); // Envelope
name | () | 方法 |
AS3 function name():Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
提供该 XML 对象的限定名称。
返回Object — 限定名称为 QName 或 null 。
|
相关 API 元素
示例 ( 如何使用本示例 )
name()
方法获取 XML 对象的限定名称:
var xml:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:wx = "http://example.com/weather"> <wx:forecast> <wx:city>Quito</wx:city> </wx:forecast> </soap:Body> </soap:Envelope>; trace(xml.name().localName); // Envelope trace(xml.name().uri); // "http://www.w3.org/2001/12/soap-envelope"
name()
方法:
var xml:XML = <foo x="15" y="22"> text </foo>; trace(xml.name().localName); // foo trace(xml.name().uri == ""); // true trace(xml.children()[0]); // text trace(xml.children()[0].name()); // null trace(xml.attributes()[0]); // 15 trace(xml.attributes()[0].name()); // x
namespace | () | 方法 |
AS3 function namespace(prefix:String = null):*
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
如果没有提供参数,则提供与该 XML 对象的限定名关联的命名空间。如果指定了 prefix
参数,则该方法将返回与 prefix
参数匹配且位于 XML 对象所在范围内的命名空间。如果不存在此类命名空间,该方法将返回 undefined
。
参数
prefix:String (default = null ) — 要匹配的前缀。
|
* — 返回 null 、undefined 或命名空间。
|
示例 ( 如何使用本示例 )
namespace()
方法获取 XML 对象的命名空间,并将其分配给名为 soap
的 Namespace 对象,随后将使用该对象标识 xml
对象 (xml.soap::Body[0]
):
var xml:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:wx = "http://example.com/weather"> <wx:forecast> <wx:city>Quito</wx:city> </wx:forecast> </soap:Body> </soap:Envelope>; var soap:Namespace = xml.namespace(); trace(soap.prefix); // soap trace(soap.uri); // http://www.w3.org/2001/12/soap-envelope var body:XML = xml.soap::Body[0]; trace(body.namespace().prefix); // soap trace(xml.namespace().uri); // http://www.w3.org/2001/12/soap-envelope trace(body.namespace("wx").uri); // "http://example.com/weather"
namespace()
方法获取节点的默认命名空间,以及特定前缀 ("dc"
) 的命名空间:
var xml:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <!-- ... --> </rdf:RDF>; trace(xml.namespace()); // http://www.w3.org/1999/02/22-rdf-syntax-ns# trace(xml.namespace("dc")); // http://purl.org/dc/elements/1.1/ trace(xml.namespace("foo")); // undefined
namespaceDeclarations | () | 方法 |
AS3 function namespaceDeclarations():Array
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
在该 XML 对象的父项中列出与其关联的命名空间声明。
返回Array — Namespace 对象的数组。
|
相关 API 元素
示例 ( 如何使用本示例 )
var xml:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <!-- ... --> </rdf:RDF>; for (var i:uint = 0; i < xml.namespaceDeclarations().length; i++) { var ns:Namespace = xml.namespaceDeclarations()[i]; var prefix:String = ns.prefix; if (prefix == "") { prefix = "(default)"; } trace(prefix + ":" , ns.uri); }
trace()
输出如下所示:
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
dc: http://purl.org/dc/elements/1.1/
(default): http://purl.org/rss/1.0/
nodeKind | () | 方法 |
AS3 function nodeKind():String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
指定节点的类型:文本、注释、处理指令、属性或元素。
返回String — 所使用的节点类型。
|
相关 API 元素
示例 ( 如何使用本示例 )
XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var xml:XML = <example id="10"> <!-- this is a comment --> <?test this is a pi ?> and some text </example>; trace(xml.nodeKind()); // element trace(xml.children()[0].nodeKind()); // comment trace(xml.children()[1].nodeKind()); // processing-instruction trace(xml.children()[2].nodeKind()); // text trace(xml.@id[0].nodeKind()); // attribute
normalize | () | 方法 |
AS3 function normalize():XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
对于该 XML 对象以及所有子级 XML 对象,合并相邻文本节点并删除空文本节点。
返回XML — 生成的标准 XML 对象。
|
示例 ( 如何使用本示例 )
normalize()
方法的效果:
var xml:XML = <body></body>; xml.appendChild("hello"); xml.appendChild(" world"); trace(xml.children().length()); // 2 xml.normalize(); trace(xml.children().length()); // 1
parent | () | 方法 |
AS3 function parent():*
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回 XML 对象的父项。如果该 XML 对象没有父项,则该方法返回 undefined
。
* — 父节点的 XML 引用或 undefined (如果 XML 对象没有父级)。
|
示例 ( 如何使用本示例 )
parent()
方法标识 XML 结构中特定元素的父项:
var xml:XML = <body> <p id="p1">Hello</p> <p id="p2">Test: <ul> <li>1</li> <li>2</li> </ul> </p> </body>; var node:XML = xml.p.ul.(li.contains("1"))[0]; // == <ul> ... </ul> trace(node.parent().@id); // p2
prependChild | () | 方法 |
AS3 function prependChild(value:Object):XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
将提供的 child
对象的副本插入 XML 元素中,并放在该元素的任何现有 XML 属性前面。
使用 delete
(XML) 运算符删除 XML 节点。
参数
value:Object — 要插入的对象。
|
XML — 生成的 XML 对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
prependChild()
方法将元素添加到 XML 对象子级列表的开头:
var xml:XML = <body> <p>hello</p> </body>; xml.prependChild(<p>world</p>); trace(xml.p[0].toXMLString()); // <p>world</p> trace(xml.p[1].toXMLString()); // <p>hello</p>
processingInstructions | () | 方法 |
AS3 function processingInstructions(name:String = "*"):XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
如果提供 name
参数,则列出包含该 name
的处理指令的 XML 对象的所有子项。如果未提供参数,则该方法会列出包含任何处理指令的 XML 对象的所有子项。
参数
name:String (default = "* ") — 要匹配的处理指令的名称。
|
XMLList — 匹配的子对象的列表。
|
示例 ( 如何使用本示例 )
processingInstructions()
方法获取 XML 对象的处理指令数组:
XML.ignoreProcessingInstructions = false; var xml:XML = <body> foo <?xml-stylesheet href="headlines.css" type="text/css" ?> <?instructionX ?> </body>; trace(xml.processingInstructions().length()); // 2 trace(xml.processingInstructions()[0].name()); // xml-stylesheet
propertyIsEnumerable | () | 方法 |
AS3 function propertyIsEnumerable(p:String):Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
检查属性 p
所在的属性集是否可在应用于 XMLList 对象的 for..in
语句中遍历。仅当 toString(p) == "0"
时返回 true
。
参数
p:String — 要检查的属性。
|
Boolean — 如果该属性可以在 for..in 语句中,为 true ;否则为 false 。
|
示例 ( 如何使用本示例 )
propertyNameIsEnumerable()
方法返回值 true
(仅对于值 0
),而对于 XMLList 对象,返回值为 true
(对于 XMLList 对象的每个有效索引值):
var xml:XML = <body> <p>Hello</p> <p>World</p> </body>; trace(xml.propertyIsEnumerable(0)); // true trace(xml.propertyIsEnumerable(1)); // false for (var propertyName:String in xml) { trace(xml[propertyName]); } var list:XMLList = xml.p; trace(list.propertyIsEnumerable(0)); // true trace(list.propertyIsEnumerable(1)); // true trace(list.propertyIsEnumerable(2)); // false for (var propertyName:String in list) { trace(list[propertyName]); }
removeNamespace | () | 方法 |
AS3 function removeNamespace(ns:Namespace):XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
删除该对象及其所有子级的给定命名空间。如果命名空间由该对象的限定名称或该对象属性的限定名称引用,则 removeNamespaces()
方法不会删除该命名空间。
参数
ns:Namespace — 要删除的命名空间。
|
XML — 生成的 XML 对象的副本。
|
示例 ( 如何使用本示例 )
var xml:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <!-- ... --> </rdf:RDF>; trace(xml.namespaceDeclarations().length); // 3 trace(xml.namespaceDeclarations()[0] is String); // var dc:Namespace = xml.namespace("dc"); xml.removeNamespace(dc); trace(xml.namespaceDeclarations().length); // 2
replace | () | 方法 |
AS3 function replace(propertyName:Object, value:XML):XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
用给定的 value
参数替换 propertyName
参数所指定的属性。如果没有属性与 propertyName
匹配,会将 XML 对象保持为未修改状态。
参数
propertyName:Object — 可以是数值、XML 元素集的非限定名称、XML 元素集的限定名称或星号通配符 (*)。使用非限定名称标识默认命名空间中的 XML 元素。
| |
value:XML — 替换值。它可以是 XML 对象、XMLList 对象或可以使用 toString() 转换的任何值。
|
XML — 生成的 XML 对象,其中替换了匹配属性。
|
示例 ( 如何使用本示例 )
replace()
方法时将整数作为第一个参数:
var xml:XML = <body> <p>Hello</p> <p>World</p> <hr/> </body>; xml.replace(1, <p>Bob</p>); trace(xml);
trace()
输出:
<body>
<p>Hello</p>
<p>Bob</p>
<hr/>
</body>
replace()
方法时将字符串作为第一个参数:
var xml:XML = <body> <p>Hello</p> <p>World</p> <hr/> </body>; xml.replace("p", <p>Hi</p>); trace(xml);
trace()
输出:
<body>
<p>Hi</p>
<hr/>
</body>;
replace()
方法时将 QName 作为第一个参数:
var xml:XML = <ns:body xmlns:ns = "myNS"> <ns:p>Hello</ns:p> <ns:p>World</ns:p> <hr/> </ns:body>; var qname:QName = new QName("myNS", "p"); xml.replace(qname, <p>Bob</p>); trace(xml);
trace()
输出:
<ns:body xmlns:ns = "myNS">
<p>Bob</p>
<hr/>
</ns:body>
replace()
方法时将字符串 "*"
作为第一个参数:
var xml:XML = <body> <p>Hello</p> <p>World</p> <hr/> </body>; xml.replace("*", <img src = "hello.jpg"/>); trace(xml);
trace()
输出:
<body>
<img src="hello.jpg"/>
</body>
setChildren | () | 方法 |
AS3 function setChildren(value:Object):XML
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
用 value
参数中提供的指定 XML 属性集替换该 XML 对象的子属性。
参数
value:Object — 替换 XML 属性。可以是单个 XML 对象或 XMLList 对象。
|
XML — 生成的 XML 对象。
|
示例 ( 如何使用本示例 )
setChildren()
方法时,先使用 XML 对象作为参数,然后使用 XMLList 对象作为参数:
var xml:XML = <body> <p>Hello</p> <p>World</p> </body>; var list:XMLList = xml.p; xml.setChildren(<p>hello</p>); trace(xml); // <body> // <p>hello</p> // </body> xml.setChildren(list); trace(xml); // <body> // <p>Hello</p> // <p>World</p> // </body>
setLocalName | () | 方法 |
AS3 function setLocalName(name:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
将该 XML 对象的本地名称更改为给定的 name
参数。
参数
name:String — 本地名称的替换名称。
|
示例 ( 如何使用本示例 )
setLocalName()
方法更改 XML 元素的本地名称:
var xml:XML = <ns:item xmlns:ns="http://example.com"> toothbrush </ns:item>; xml.setLocalName("orderItem"); trace(xml.toXMLString()); // <ns:orderItem xmlns:ns="http://example.com">toothbrush</ns:orderItem>
setName | () | 方法 |
AS3 function setName(name:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
将该 XML 对象的名称设置为给定限定名称或属性名。
参数
name:String — 对象的新名称。
|
示例 ( 如何使用本示例 )
setName()
方法更改 XML 元素的名称:
var xml:XML = <item> toothbrush </item>; xml.setName("orderItem"); trace(xml.toXMLString()); // <orderItem>toothbrush</orderItem>
setNamespace | () | 方法 |
AS3 function setNamespace(ns:Namespace):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
设置与该 XML 对象关联的命名空间。
参数
ns:Namespace — 新命名空间。
|
示例 ( 如何使用本示例 )
soap
命名空间,并将其应用于另一个 XML 对象 (xml2
) 的命名空间:
var xml1:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <!-- ... --> </soap:Envelope>; var ns:Namespace = xml1.namespace("soap"); var xml2:XML = <Envelope> <Body/> </Envelope>; xml2.setNamespace(ns); trace(xml2);
setSettings | () | 方法 |
AS3 static function setSettings(... rest):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
设置下列 XML 属性的值:ignoreComments
、ignoreProcessingInstructions
、ignoreWhitespace
、prettyIndent
和 prettyPrinting
。以下是默认设置,如果未提供 setObj
参数,将应用这些设置:
XML.ignoreComments = true
XML.ignoreProcessingInstructions = true
XML.ignoreWhitespace = true
XML.prettyIndent = 2
XML.prettyPrinting = true
注意:不要将此方法应用于 XML 类的实例;应将其应用于 XML
,如以下代码所示:XML.setSettings()
。
参数
... rest — 具有下列各个属性的对象:
|
相关 API 元素
ignoreProcessingInstructions
ignoreWhitespace
prettyIndent
prettyPrinting
defaultSettings()
settings()
示例 ( 如何使用本示例 )
XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var customSettings:Object = XML.settings(); var xml1:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml1.toXMLString()); // <foo> // <!-- comment --> // <?instruction ?> // </foo> XML.setSettings(XML.defaultSettings()); var xml2:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml2.toXMLString());
settings | () | 方法 |
AS3 static function settings():Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
检索下列属性:ignoreComments
、ignoreProcessingInstructions
、ignoreWhitespace
、prettyIndent
和 prettyPrinting
。
Object — 具有下列 XML 属性的对象:
|
相关 API 元素
XML.ignoreProcessingInstructions
XML.ignoreWhitespace
XML.prettyIndent
XML.prettyPrinting
XML.defaultSettings()
XML.setSettings()
示例 ( 如何使用本示例 )
XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var customSettings:Object = XML.settings(); var xml1:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml1.toXMLString()); // <foo> // <!-- comment --> // <?instruction ?> // </foo> XML.setSettings(XML.defaultSettings()); var xml2:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml2.toXMLString());
text | () | 方法 |
AS3 function text():XMLList
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回 XML 对象用来表示 XML 文本节点的所有 XML 属性的 XMLList 对象。
返回XMLList — 属性列表。
|
示例 ( 如何使用本示例 )
text()
方法获得 XML 对象的文本节点:
var xml:XML = <body> text1 <hr/> text2 </body>; trace(xml.text()[0]); // text1 trace(xml.text()[1]); // text2
toJSON | () | 方法 |
AS3 function toJSON(k:String):*
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 11, AIR 3, Flash Lite 4 |
提供一种可覆盖的方法,用于在 XML 对象中自定义值的 JSON 编码。
JSON.stringify()
方法在其遍历的每个对象上寻找 toJSON()
方法。如果找到 toJSON()
方法,JSON.stringify()
会为其遇到的每个值调用该方法,传入与值配对的密钥。
XML 提供了 toJSON()
的默认实现,该实现只返回类名称。希望将 XML 对象导出到 JSON 的客户端必须提供其自己的实现。通过重新定义类原型中的 toJSON()
方法可执行此操作。
toJSON()
方法可返回任何类型的值。如果返回一个对象,则 stringify()
会递归到该对象中。如果 toJSON()
返回一个字符串,则 stringify()
不会递归并继续其遍历。
参数
k:String — JSON.stringify() 在遍历此对象时遇到的密钥/值对的密钥
|
* — 类名称字符串。
|
相关 API 元素
Object.prototype
toString | () | 方法 |
AS3 function toString():String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回 XML 对象的字符串表示形式。此转换的规则取决于 XML 对象包含的是简单内容还是复杂内容:
- 如果 XML 对象包含简单内容,
toString()
将返回 XML 对象的字符串内容,但从中除去了以下内容:开始标签、属性、命名空间声明和结束标签。
- 如果 XML 对象包含复杂内容,
toString()
将返回 XML 编码字符串,该字符串表示完整的 XML 对象,包括开始标签、属性、命名空间声明和结束标签。
要每次都返回整个 XML 对象,请使用 toXMLString()
。
String — XML 对象的字符串表示形式。
|
相关 API 元素
示例 ( 如何使用本示例 )
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 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回 XML 对象的字符串表示形式。与 toString()
方法不同,toXMLString()
方法始终返回 XML 对象的开始标签、属性和结束标签,与 XML 对象包含的是简单内容还是复杂内容无关。(toString()
方法去除包含简单内容的 XML 对象的这些项。)
String — XML 对象的字符串表示形式。
|
相关 API 元素
示例 ( 如何使用本示例 )
toString()
方法(默认情况下适用于 trace()
方法的所有参数)与使用 toXMLString()
方法之间的区别:
var xml:XML = <p>hello</p>; trace(xml); // hello trace(xml.toXMLString()); // <p>hello</p>
valueOf | () | 方法 |
@
) 符号用在多个 trace()
调用中,以按属性名称查找信息。
package { import flash.display.Sprite; public class XmlExample extends Sprite { public function XmlExample() { var employees:XML = <employees> <employee ssn="123-123-1234"> <name first="John" last="Doe"/> <address> <street>11 Main St.</street> <city>San Francisco</city> <state>CA</state> <zip>98765</zip> </address> </employee> <employee ssn="789-789-7890"> <name first="Mary" last="Roe"/> <address> <street>99 Broad St.</street> <city>Newton</city> <state>MA</state> <zip>01234</zip> </address> </employee> </employees>; trace(employees.employee[0].address.zip); // 98765 trace(employees.employee[1].@ssn); // 789-789-7890 trace(employees.employee.name); // <name first="John" last="Doe"/> // <name first="Mary" last="Roe"/> trace(employees..zip[0]); // 98765 trace(employees..@ssn[1]); // 789-789-7890 trace(employees..name); // <name first="John" last="Doe"/> // <name first="Mary" last="Roe"/> trace(employees.employee[0].address.*); // <street>11 Main St.</street> // <city>San Francisco</city> // <state>CA</state> // <zip>98765</zip> var node:String = "zip"; trace(employees.employee[0].address[node]); // 98765 var attribute:String = "ssn"; trace(employees.employee[1].@[attribute]); // 789-789-7890 for each (var num:XML in employees..@ssn) { trace(num); // 123-123-1234 } // 789-789-7890 var ssnToFind:String = "789-789-7890"; trace(employees.employee.(@ssn == ssnToFind).toXMLString()); // <employee ssn="789-789-7890"> // <name first="Mary" last="Roe"/> // <address> // <street>99 Broad St.</street> // <city>Newton</city> // <state>MA</state> // <zip>01234</zip> // </address> // </employee> } } }
Tue Jun 12 2018, 11:04 AM Z