| 包 | flash.xml |
| 类 | public class XMLDocument |
| 继承 | XMLDocument XMLNode Object |
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
使用 XMLDocument 类以及 XMLNode 和 XMLNodeType 是为了保持向后兼容。 用于加载 XML 文档的功能现在可在 URLLoader 类中找到。
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | attributes : Object
一个对象,其中包含指定的 XMLNode 实例的所有属性。
| XMLNode | |
![]() | childNodes : Array
[read-only]
指定的 XMLNode 对象子级的数组。
| XMLNode | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。
| Object | |
| docTypeDecl : Object = null
指定有关 XML 文档的 DOCTYPE 声明的信息。
| XMLDocument | ||
![]() | firstChild : XMLNode
计算指定的 XMLDocument 对象,并引用父节点的子级列表中的第一个子级。
| XMLNode | |
| idMap : Object
一个对象,其中包含分配了 id 属性的 XML 的节点。
| XMLDocument | ||
| ignoreWhite : Boolean = false
当设置为 true 时,在分析过程中将放弃仅包含空白的文本节点。
| XMLDocument | ||
![]() | 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
[static]
对类或函数对象的原型对象的引用。
| Object | |
| xmlDecl : Object = null
一个字符串,指定有关文档的 XML 声明的信息。
| XMLDocument | ||
| 方法 | 定义方 | ||
|---|---|---|---|
|
XMLDocument(source:String = null)
创建新的 XMLDocument 对象。
| XMLDocument | ||
![]() |
将指定的节点追加到 XML 对象的子级列表中。
| XMLNode | |
![]() |
构造并返回一个类型、名称、值和属性与指定的 XML 对象均相同的新 XML 节点。
| XMLNode | |
|
使用参数中指定的名称来创建新的 XMLNode 对象。
| XMLDocument | ||
|
使用指定的文本创建一个新的 XML 文本节点。
| XMLDocument | ||
![]() |
返回与节点的指定前缀相关联的命名空间 URI。
| XMLNode | |
![]() |
返回与节点的指定命名空间 URI 相关联的前缀。
| XMLNode | |
![]() |
指示指定的 XMLNode 对象是否具有子节点。
| XMLNode | |
![]() |
指示对象是否已经定义了指定的属性。
| Object | |
![]() |
将新的子节点插入到 XML 对象的子级列表中,且在 beforeNode 节点之前。
| XMLNode | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | |
|
分析 value 参数中指定的 XML 文本,并使用结果 XML 树填充指定的 XMLDocument 对象。
| XMLDocument | ||
![]() |
指示指定的属性是否存在、是否可枚举。
| Object | |
![]() |
从指定 XML 对象的父级中删除该对象。
| XMLNode | |
![]() |
设置循环操作动态属性的可用性。
| Object | |
|
返回 XML 对象的字符串表示形式。
| XMLDocument | ||
![]() |
返回指定对象的原始值。
| Object | |
| docTypeDecl | 属性 |
public var docTypeDecl:Object = null
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
指定有关 XML 文档的 DOCTYPE 声明的信息。 在已经将 XML 文本分析为 XMLDocument 对象后,该 XMLDocument 对象的 XMLDocument.docTypeDecl 属性就会被设置为该 XML 文档的 DOCTYPE 声明的文本(例如,<!DOCTYPE greeting SYSTEM "hello.dtd">)。 使用 DOCTYPE 声明的字符串表示形式而不是 XMLNode 对象设置该属性。
旧的 ActionScript 的 XML 分析程序不是具有验证功能的分析程序。 分析程序读取 DOCTYPE 声明,并将其存储在 XMLDocument.docTypeDecl 属性中,但不执行 DTD 验证。
如果在分析操作过程中未遇到 DOCTYPE 声明,则 XMLDocument.docTypeDecl 属性被设置为 null。 XML.toString() 方法将在 XML 声明存储在 XML.xmlDecl 中后,并在输出该 XML 对象中的任何其它文本之前,立即输出 XML.docTypeDecl 的内容。 如果 XMLDocument.docTypeDecl 为空,则不输出 DOCTYPE 声明。
| idMap | 属性 |
public var idMap:Object
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
一个对象,其中包含分配了 id 属性的 XML 的节点。 对象(每个对象包含一个节点)的属性 (property) 名称与 id 属性 (attribute) 的值匹配。
请考虑下面的 XMLDocument 对象:
<employee id='41'>
<name>
John Doe
</name>
<address>
601 Townsend St.
</address>
</employee>
<employee id='42'>
<name>
Jane Q. Public
</name>
</employee>
<department id="IT">
Information Technology
</department>
在此示例中,该 XMLDocument 对象的 idMap 属性是具有以下三个属性的对象:41、42 和 IT。 其中每个属性都是具有匹配的 id 值的 XMLNode。 例如,idMap 对象的 IT 属性为下面的节点:
<department id="IT"> Information Technology </department>
您必须对此 XMLDocument 对象使用 parseXML() 方法才能对 idMap 属性进行实例化。
如果多个 XMLNode 具有相同的 id 值,则 idNode 对象的匹配属性是分析的最后一个节点的属性。 例如:
var x1:XML = new XMLDocument("<a id='1'><b id='2' /><c id='1' /></a>");
x2 = new XMLDocument();
x2.parseXML(x1);
trace(x2.idMap['1']);
<c> 节点:
<c id='1' />
| ignoreWhite | 属性 |
public var ignoreWhite:Boolean = false
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
当设置为 true 时,在分析过程中将放弃仅包含空白的文本节点。 带有前导或尾随空白的文本节点不受影响。 默认设置为 false。
可以为单个 XMLDocument 对象设置 ignoreWhite 属性,如以下代码所示:
my_xml.ignoreWhite = true;
| xmlDecl | 属性 |
public var xmlDecl:Object = null
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
一个字符串,指定有关文档的 XML 声明的信息。 将 XML 文档分析为 XMLDocument 对象之后,此属性被设置为文档的 XML 声明的文本。 使用 XML 声明的字符串表示形式而不是 XMLNode 对象设置该属性。 如果在分析操作过程中未遇到 XML 声明,则该属性被设置为 null。 XMLDocument.toString() 方法在输出 XML 对象中的任何其它文本之前输出 XML.xmlDecl 属性的内容。 如果 XML.xmlDecl 属性包含 null,则不输出 XML 声明。
| XMLDocument | () | 构造函数 |
public function XMLDocument(source:String = null)
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
创建新的 XMLDocument 对象。 调用 XMLDocument 类的任何方法之前,必须使用该构造函数创建一个 XMLDocument 对象。
注意:使用 createElement() 和 createTextNode() 方法可以将元素和文本节点添加到 XML 文档树中。
source:String (default = null) — 经解析用以创建新 XMLDocument 对象的 XML 文本。
|
另请参见
| createElement | () | 方法 |
public function createElement(name:String):XMLNode
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
使用参数中指定的名称来创建新的 XMLNode 对象。 新节点开始时没有父级、子级和同级。 该方法返回一个对新创建的表示该元素的 XMLNode 对象的引用。 此方法和 XMLDocument.createTextNode() 方法都是为 XMLDocument 对象创建节点的构造函数方法。
参数
name:String — 要创建的 XMLDocument 元素的标签名称。
|
XMLNode — XMLNode 对象。
|
另请参见
| createTextNode | () | 方法 |
public function createTextNode(text:String):XMLNode
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
使用指定的文本创建一个新的 XML 文本节点。 该新节点开始时没有父级,且文本节点不能有子级或同级。 此方法返回对表示新文本节点的 XMLDocument 对象的引用。 此方法和 XMLDocument.createElement() 方法都是为 XMLDocument 对象创建节点的构造函数方法。
参数
text:String — 用于创建新文本节点的文本。
|
XMLNode — XMLNode 对象。
|
另请参见
| parseXML | () | 方法 |
public function parseXML(source:String):void
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
分析 value 参数中指定的 XML 文本,并使用结果 XML 树填充指定的 XMLDocument 对象。 XMLDocument 对象中任何现有的树将被放弃。
参数
source:String — 要分析并传递到指定的 XMLDocument 对象的 XML 文本。
|
| toString | () | 方法 |
public override function toString():String
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
返回 XML 对象的字符串表示形式。
返回String |
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";
}
}
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/xml/XMLDocument.html