包 | flash.xml |
类 | public class XMLNode |
继承 | XMLNode Object |
子类 | XMLDocument |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
另请参见
属性 | 定义方 | ||
---|---|---|---|
attributes : Object 一个对象,其中包含指定的 XMLNode 实例的所有属性。 | XMLNode | ||
childNodes : Array [只读 (read-only)] 指定的 XMLNode 对象子级的数组。 | XMLNode | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
firstChild : XMLNode 计算指定的 XMLDocument 对象,并引用父节点的子级列表中的第一个子级。 | XMLNode | ||
lastChild : XMLNode 一个 XMLNode 值,它引用节点的子级列表中的最后一个子级。 | XMLNode | ||
localName : String [只读 (read-only)] XML 节点名称的本地名称部分。 | XMLNode | ||
namespaceURI : String [只读 (read-only)] 如果 XML 节点具有前缀,则 namespaceURI 为该前缀 (URI) 的 xmlns 声明的值,通常称为命名空间 URI。 | XMLNode | ||
nextSibling : XMLNode 一个 XMLNode 值,它引用父级节点的子级列表中的下一个同级。 | XMLNode | ||
nodeName : String 一个字符串,表示 XMLNode 对象的节点名称。 | XMLNode | ||
nodeType : uint 一个 nodeType 常数值,对于 XML 元素为 XMLNodeType.ELEMENT_NODE,对于文本节点为 XMLNodeType.TEXT_NODE。 | XMLNode | ||
nodeValue : String XMLDocument 对象的节点值。 | XMLNode | ||
parentNode : XMLNode 一个 XMLNode 值,它引用指定 XML 对象的父级节点;如果该节点没有父级,则返回 null。 | XMLNode | ||
prefix : String [只读 (read-only)] XML 节点名称的前缀部分。 | XMLNode | ||
previousSibling : XMLNode 一个 XMLNode 值,它引用父级节点的子级列表中的前一个同级。 | XMLNode | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object |
方法 | 定义方 | ||
---|---|---|---|
创建新的 XMLNode 对象。 | XMLNode | ||
将指定的节点追加到 XML 对象的子级列表中。 | XMLNode | ||
构造并返回一个类型、名称、值和属性与指定的 XML 对象均相同的新 XML 节点。 | XMLNode | ||
返回与节点的指定前缀相关联的命名空间 URI。 | XMLNode | ||
返回与节点的指定命名空间 URI 相关联的前缀。 | XMLNode | ||
指示指定的 XMLNode 对象是否具有子节点。 | XMLNode | ||
指示对象是否已经定义了指定的属性。 | Object | ||
将新的子节点插入到 XML 对象的子级列表中,且在 beforeNode 节点之前。 | XMLNode | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从指定 XML 对象的父级中删除该对象。 | XMLNode | ||
设置循环操作动态属性的可用性。 | Object | ||
计算指定的 XMLNode 对象,构造一个包括节点、子级和属性的 XML 结构的文本表示形式,并以字符串形式返回结果。 | XMLNode | ||
返回指定对象的原始值。 | Object |
attributes | 属性 |
attributes:Object
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个对象,其中包含指定的 XMLNode 实例的所有属性。XMLNode.attributes 对象为 XMLNode 实例的每个属性包含一个变量。因为这些变量定义为该对象的一部分,所以通常将它们称为该对象的属性。每个属性 (attribute) 的值以字符串形式保存在相应的属性 (property) 中。例如,如果有一个名为 color
的属性 (attribute),则可以通过将 color
指定为属性 (property) 名称来检索该属性 (attribute) 的值,如以下代码所示:
var myColor:String = doc.firstChild.attributes.color
public function get attributes():Object
public function set attributes(value:Object):void
childNodes | 属性 |
childNodes:Array
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
指定的 XMLNode 对象子级的数组。数组中的每个元素都是对表示子级节点的 XMLNode 对象的引用。这是一个只读属性,不能用于操作子级节点。请使用 appendChild()
、insertBefore()
和 removeNode()
来操作子节点。
对于文本节点 (nodeType == 3
),此属性未定义。
public function get childNodes():Array
另请参见
firstChild | 属性 |
public var firstChild:XMLNode
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
计算指定的 XMLDocument 对象,并引用父节点的子级列表中的第一个子级。如果该节点没有子级,则此属性为 null
。如果该节点为文本节点,则此属性为 undefined
。这是一个只读属性,不能用于操作子节点;请使用 appendChild()
、insertBefore()
和 removeNode()
方法来操作子节点。
另请参见
lastChild | 属性 |
public var lastChild:XMLNode
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个 XMLNode 值,它引用节点的子级列表中的最后一个子级。如果该节点没有子级,则 XMLNode.lastChild
属性为 null
。此属性不能用于处理子节点;请使用 appendChild()
、insertBefore()
和 removeNode()
方法来处理子节点。
另请参见
localName | 属性 |
localName:String
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
XML 节点名称的本地名称部分。这是没有命名空间前缀的元素名称。例如,节点 <contact:mailbox/>bob@example.com</contact:mailbox>
具有本地名称“mailbox”和前缀“contact”,两者组成完整的元素名称“contact.mailbox”。
您可以通过 XML 节点对象的 prefix
属性来访问命名空间前缀。nodeName
属性会返回完整的名称(包括前缀和本地名称)。
public function get localName():String
namespaceURI | 属性 |
namespaceURI:String
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
如果 XML 节点具有前缀,则 namespaceURI
为该前缀 (URI) 的 xmlns
声明的值,通常称为命名空间 URI。xmlns
声明位于当前节点中或 XML 层次结构中较高层次的节点中。
如果 XML 节点没有前缀,namespaceURI
属性的值将取决于是否定义了默认的命名空间(如 xmlns="http://www.example.com/"
中所示)。如果有默认命名空间,则 namespaceURI
属性的值即为默认命名空间的值。如果没有默认命名空间,则该节点的 namespaceURI
属性为空字符串 (""
)。
您可以使用 getNamespaceForPrefix()
方法标识与特定前缀相关联的命名空间。namespaceURI
属性会返回与节点名称相关联的前缀。
public function get namespaceURI():String
另请参见
nextSibling | 属性 |
public var nextSibling:XMLNode
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个 XMLNode 值,它引用父级节点的子级列表中的下一个同级。如果该节点没有下一个同级节点,则此属性为 null
。此属性不能用于处理子节点;请使用 appendChild()
、insertBefore()
和 removeNode()
方法来处理子节点。
另请参见
nodeName | 属性 |
public var nodeName:String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个字符串,表示 XMLNode 对象的节点名称。如果 XMLNode 对象是一个 XML 元素 (nodeType == 1
),则 nodeName
是 XML 文件中表示节点的标签的名称。例如,TITLE
是 HTML TITLE
标签的 nodeName
。如果 XMLNode 对象是一个文本节点 (nodeType == 3
),则 nodeName 为 null
。
另请参见
nodeType | 属性 |
public var nodeType:uint
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个 nodeType
常数值,对于 XML 元素为 XMLNodeType.ELEMENT_NODE
,对于文本节点为 XMLNodeType.TEXT_NODE
。
nodeType
是 W3C DOM Level 1 推荐方法的 NodeType 枚举中的一个数字值:http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html。下表列出了这些值:
整数值 | 已定义的常量 |
---|---|
1 | ELEMENT_NODE |
2 | ATTRIBUTE_NODE |
3 | TEXT_NODE |
4 | CDATA_SECTION_NODE |
5 | ENTITY_REFERENCE_NODE |
6 | ENTITY_NODE |
7 | PROCESSING_INSTRUCTION_NODE |
8 | COMMENT_NODE |
9 | DOCUMENT_NODE |
10 | DOCUMENT_TYPE_NODE |
11 | DOCUMENT_FRAGMENT_NODE |
12 | NOTATION_NODE |
在 Flash Player 中,内置 XMLNode 类仅支持 XMLNodeType.ELEMENT_NODE
和 XMLNodeType.TEXT_NODE
。
另请参见
nodeValue | 属性 |
public var nodeValue:String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
XMLDocument 对象的节点值。如果 XMLDocument 对象是一个文本节点,则 nodeType
为 3,nodeValue
是节点的文本。如果 XMLDocument 对象是一个 XML 元素(nodeType
为 1),则 nodeValue
为 null
且为只读。
另请参见
parentNode | 属性 |
public var parentNode:XMLNode
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个 XMLNode 值,它引用指定 XML 对象的父级节点;如果该节点没有父级,则返回 null
。这是一个只读属性,不能用于操作子节点;请使用 appendChild()
、insertBefore()
和 removeNode()
方法来操作子节点。
另请参见
prefix | 属性 |
prefix:String
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
XML 节点名称的前缀部分。例如,节点 <contact:mailbox/>bob@example.com</contact:mailbox>
具有前缀“contact”和本地名称“mailbox”,两者组成完整的元素名称“contact.mailbox”。
XML 节点对象的 nodeName
属性会返回完整名称(包括前缀和本地名称)。您可以通过 localName
属性来访问元素名称的本地名称部分。
public function get prefix():String
previousSibling | 属性 |
public var previousSibling:XMLNode
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
一个 XMLNode 值,它引用父级节点的子级列表中的前一个同级。如果该节点没有前一个同级节点,则此属性的值为 null。此属性不能用于处理子节点;请使用 appendChild()
、insertBefore()
和 removeNode()
方法来处理子节点。
另请参见
XMLNode | () | 构造函数 |
public function XMLNode(type:uint, value:String)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
创建新的 XMLNode 对象。调用 XMLNode 类的任何方法之前,必须使用该构造函数创建一个 XMLNode 对象。
注意:使用 createElement()
和 createTextNode()
方法可以将元素和文本节点添加到 XML 文档树中。
type:uint — 节点类型:对于 XML 元素为 1,对于文本节点为 3。 | |
value:String — 经解析用以创建新 XMLNode 对象的 XML 文本。 |
另请参见
appendChild | () | 方法 |
public function appendChild(node:XMLNode):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
将指定的节点追加到 XML 对象的子级列表中。此方法直接在 childNode
参数引用的节点上操作;它并不追加该节点的副本。如果要追加的节点已经存在于另一个树结构中,则向新位置追加该节点会删除当前位置的该节点。如果 childNode
参数引用的节点已经存在于另一个 XML 树结构中,则在追加的子节点从现有父级节点删除后,它会被放在新的树结构中。
参数
node:XMLNode —
一个 XMLNode,表示要从其当前位置移动到 my_xml 对象的子级列表的节点。
|
另请参见
cloneNode | () | 方法 |
public function cloneNode(deep:Boolean):XMLNode
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
构造并返回一个类型、名称、值和属性与指定的 XML 对象均相同的新 XML 节点。如果将 deep
设置为 true
,则递归克隆所有子节点,这将得到一个与原始对象文档树完全相同的副本。
返回的克隆节点与被克隆项目的树不再相关联。因此,nextSibling
、parentNode
和 previousSibling
值都为 null
。如果 deep
参数设置为 false
,或者 my_xml
节点没有子节点,则 firstChild
和 lastChild
同样为空。
参数
deep:Boolean —
一个布尔值;如果设置为 true ,将会以递归方式克隆指定 XML 对象的子级。
|
XMLNode — XMLNode 对象。 |
getNamespaceForPrefix | () | 方法 |
public function getNamespaceForPrefix(prefix:String):String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
返回与节点的指定前缀相关联的命名空间 URI。要确定该 URI,getPrefixForNamespace()
将根据需要从节点开始搜索 XML 层次结构,并返回给定 prefix
的第一个 xmlns
声明的命名空间 URI。
如果没有为指定的前缀定义命名空间,该方法将返回 null
。
如果您指定了一个空字符串 (""
) 作为 prefix
,并且为该节点定义了默认命名空间(如 xmlns="http://www.example.com/"
中所示),该方法将返回该默认命名空间 URI。
参数
prefix:String — 该方法为其返回关联的命名空间的前缀。 |
String — 与指定的前缀关联的命名空间。 |
另请参见
getPrefixForNamespace | () | 方法 |
public function getPrefixForNamespace(ns:String):String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
返回与节点的指定命名空间 URI 相关联的前缀。为了确定前缀,getPrefixForNamespace()
根据需要从节点开始向上搜索 XML 层次结构,并返回具有与 ns
匹配的命名空间 URI 的第一个 xmlns
声明的前缀。
如果未对给定 URI 进行 xmlns
赋值,该方法将返回 null
。如果对给定 URI 进行了 xmlns
赋值但没有与该赋值相关联的前缀,该方法将返回一个空字符串 (""
)。
参数
ns:String — 该方法为其返回相关联前缀的命名空间 URI。 |
String — 与指定的命名空间关联的前缀。 |
另请参见
hasChildNodes | () | 方法 |
public function hasChildNodes():Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
指示指定的 XMLNode 对象是否具有子节点。如果指定的 XMLNode 对象具有子节点,此属性为 true
;否则为 false
。
Boolean —
如果指定的 XMLNode 对象具有子节点,则返回 true ;否则返回 false 。
|
insertBefore | () | 方法 |
public function insertBefore(node:XMLNode, before:XMLNode):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
将新的子节点插入到 XML 对象的子级列表中,且在 beforeNode
节点之前。如果 beforeNode
参数未定义或为空,则使用 appendChild()
方法添加该节点。如果 beforeNode
不是 my_xml
的子级,则插入操作失败。
参数
node:XMLNode — 要插入的 XMLNode 对象。 | |
before:XMLNode —
childNode 的插入点之前的 XMLNode 对象。
|
另请参见
removeNode | () | 方法 |
public function removeNode():void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
从指定 XML 对象的父级中删除该对象。还将删除此节点的所有子级节点。
toString | () | 方法 |
public function toString():String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
计算指定的 XMLNode 对象,构造一个包括节点、子级和属性的 XML 结构的文本表示形式,并以字符串形式返回结果。
对于顶级 XMLDocument 对象(那些用构造函数创建的对象),XMLDocument.toString()
方法首先输出文档的 XML 声明(存储在 XMLDocument.xmlDecl
属性中),随后输出文档的 DOCTYPE
声明(存储在 XMLDocument.docTypeDecl
属性中),接着输出该对象中所有 XML 节点的文本表示形式。如果 XMLDocument.xmlDecl
属性为 null
,则不输出 XML 声明。如果 XMLDocument.docTypeDecl
属性为 null
,则不输出 DOCTYPE
声明。
String — 表示 XMLNode 对象的字符串。 |
另请参见
package { import flash.display.Sprite; import flash.xml.XMLDocument; import flash.xml.XMLNode; import flash.xml.XMLNodeType; public class XMLDocumentExample extends Sprite { public function XMLDocumentExample() { var result:XMLDocument = new XMLDocument(); result.ignoreWhite = true; result.parseXML(getXMLString()); var books:Array = parseBooks(result.firstChild); trace("books: \n" + books); } private function parseBooks(node:XMLNode):Array { var books:Array = new Array(); var kids:Array = node.childNodes; for each(var item:XMLNode in kids) { parseBook(item, books); } return books; } private function parseBook(node:XMLNode, books:Array):void { var item:Book = new Book(); item.setPublisher(node.attributes.publisher); item.setName(node.attributes.name); books.push(item); } private function getXMLString():String { var list:XML = <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>; return list.toXMLString(); } } } class Book { private var publisher:String; private var name:String; public function setPublisher(publisher:String):void { this.publisher = publisher; } public function setName(name:String):void { this.name = name; } public function toString():String { return "[Book name: " + name + " publisher: " + publisher + "]\n"; } }