XML 基础知识

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

XML 是一种表示结构化信息的标准方法,以使计算机能够方便地使用此类信息,并且人们可以非常方便地编写和理解这些信息。XML 是 eXtensible Markup Language(可扩展标记语言)的缩写。 www.w3.org/XML/ 上提供了 XML 标准。

XML 提供了一种简便的标准方法对数据进行分类,以使其更易于读取、访问以及处理。XML 使用类似于 HTML 的树结构和标签结构。以下是一个简单的 XML 数据示例:

<song> 
    <title>What you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

XML 数据也可能会比较复杂,其中包含嵌套在其他标签中的标签以及属性和其他结构组件。以下是一个比较复杂的 XML 数据示例:

<album> 
    <title>Questions, unanswered</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <tracks> 
        <song tracknumber="1" length="4:05"> 
            <title>What do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:31</lastplayed> 
        </song> 
        <song tracknumber="2" length="3:45"> 
            <title>Who do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:35</lastplayed> 
        </song> 
        <song tracknumber="3" length="5:14"> 
            <title>When do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:39</lastplayed> 
        </song> 
        <song tracknumber="4" length="4:19"> 
            <title>Do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:44</lastplayed> 
        </song> 
    </tracks> 
</album>

请注意,此 XML 文档中包含其他完整 XML 结构(如 song 标签及其子标签)。此文档还说明了其他 XML 结构,如属性( song 标签中的 tracknumber length )以及包含其他标签而不是包含数据的标签(如 tracks 标签)。

XML 快速入门

如果您没有或几乎没有 XML 方面的经验,您可以阅读下面对 XML 数据的最常见特性的简要说明。XML 数据是以纯文本格式编写的,并使用特定语法将信息组织为结构化格式。通常,将一组 XML 数据称为“XML 文档”。在 XML 格式中,通过分层结构将数据组织到 元素 (可以是单个数据项,也可以是其他元素的容器)中。每个 XML 文档将一个元素作为顶级项目或主项目;此根元素内可能会包含一条信息,但更可能会包含其他元素,而这些元素又包含其他元素,依此类推。例如,以下 XML 文档包含有关音乐唱片的信息:

<song tracknumber="1" length="4:05"> 
    <title>What do you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <mood>Happy</mood> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

每个元素都是用一组 标签 来区分的,即元素名称括在尖括号(小于号和大于号)中。开始标签(指示元素的开头)包含元素名称:

<title>

结束标签(标记元素的结尾)在元素名称前面包含一个正斜杠:

</title>

如果元素不包含任何内容,则会将其编写为一个空元素(有时称为自结束元素)。在 XML 中,以下元素:

<lastplayed/>

与下面的元素完全相同:

<lastplayed></lastplayed>

除了在开始和结束标签之间包含的元素内容外,元素还可以包含在元素开始标签中定义的其他值(称为 属性 )。例如,以下 XML 元素定义一个名为 length 且值为 "4:19" 的属性:

<song length="4:19"></song>

每个 XML 元素都包含内容,这可以是单个值、一个或多个 XML 元素或没有任何内容(对于空元素)。

了解有关 XML 的详细信息

要了解有关使用 XML 的详细信息,请参阅额外的一些书籍和资源以了解有关 XML 的详细信息,其中包括以下 Web 站点:

用于使用 XML 的 ActionScript 类

ActionScript 3.0 包含一些用于使用 XML 结构化信息的类。下面列出了两个主类:

  • XML:表示单个 XML 元素,它可以是包含多个子元素的 XML 文档,也可以是文档中的单值元素。

  • XMLList:表示一组 XML 元素。当具有多个“同级”(在 XML 文档层次中位于相同级别,并且包含在相同父级中)的 XML 元素时,将使用 XMLList 对象。例如,XMLList 实例是使用以下一组 XML 元素(可能包含在 XML 文档中)的最简便方法:

    <artist type="composer">Fred Wilson</artist> 
    <artist type="conductor">James Schmidt</artist> 
    <artist type="soloist">Susan Harriet Thurndon</artist>

对于涉及 XML 命名空间的更高级用法,ActionScript 还包含 Namespace 和 QName 类。有关详细信息,请参阅 使用 XML 命名空间

除了用于使用 XML 的内置类外,ActionScript 3.0 还包含一些运算符,它们提供了用于访问和使用 XML 数据的特定功能。这种使用这些类和运算符来使用 XML 的方法称为 ECMAScript for XML (E4X),它是由 ECMA-357 第 2 版规范定义的。

重要概念和术语

以下参考列表包含进行 XML 处理例程编程时会遇到的重要术语:

元素
XML 文档中的单个项目,它被标识为开始标签和结束标签之间包含的内容(包括标签)。XML 元素可以包含文本数据或其他元素,也可以为空。

空元素
不包含任何子元素的 XML 元素。通常,将空元素编写为自结束标签(如 <element/> )。

文档
单个 XML 结构。XML 文档可以包含任意数量的元素(或者仅包含单个空元素);但是,XML 文档必须具有一个顶级元素,该元素包含文档中的所有其他元素。

节点
XML 元素的另一个名称。

属性
与元素关联的命名值,它以 attributename="value" 格式写入到元素的开始标签中,而不是编写为嵌套在元素内的单独子元素。