XMLConnector 组件(仅限于 Flash Professional)

XMLConnector 组件使应用程序能够访问通过 HTTP 返回或接收 XML 的任何外部数据源。连接外部 XML 数据源并为应用程序使用该数据源的参数和结果的最简单方法是指定架构,即在可绑定至的文档中标识数据元的 XML 文档的结构。可以通过“组件检查器”面板手动创建架构,也可以使用创作环境自动创建一个架构。

有关 XMLConnector 组件(包括其属性、方法和事件)的详细信息,请参阅XMLConnector 组件

注意:创作环境接受要连接的外部 XML 文档的副本作为架构的模型。如果熟悉 XML 脚本撰写,您可以创建可用于生成架构的示例 XML 文件。

XMLConnector 组件参数

XMLConnector 组件具有以下参数:

direction 字符串,定义调用 trigger() 时要通过 HTTP 执行的操作的类型。sendsendAndLoadload 分别对应于 receivereceive/sendsend

ignoreWhite 布尔值,默认设置为 false。如果将此参数设置为 true,则仅包含空格的文本节点在分析过程中会被放弃。带有前导或尾部空格的文本节点不受影响。

multipleSimultaneousAllowed 布尔值,如果将此参数设置为 true,它允许 trigger() 操作在另一个 trigger() 操作正在进行时启动。多个同时进行的 trigger() 操作可能不会按调用它们时的相同顺序完成。同时,Flash Player 可能会对同时进行的网络操作数目加以限制。此限制因版本和平台而异。如果将该参数设置为 false,则 trigger() 操作不能在另一个操作正在进行时启动。

suppressInvalidCall 布尔值,如果将此参数设置为 true,它会在数据参数无效时中止 trigger() 操作。如果将其设置为 falsetrigger() 操作将在需要时执行和使用无效数据。

URL 字符串,指向外部 XML 数据源。

XMLConnector 组件的通用工作流程

XMLConnector 组件的典型工作流程如下所示。

要使用 XMLConnector 组件:

  1. 将 XMLConnector 组件的实例添加到应用程序,并为其指定一个实例名称。
  2. 使用“组件检查器”面板的“参数”选项卡,输入要访问的外部 XML 数据源的 URL。
  3. 使用“组件检查器”面板的“架构”选项卡指定 XML 文档的架构。

    注意:可以使用“导入示例架构”按钮使此过程自动化。

  4. 使用“组件检查器”面板的“绑定”选项卡将数据元(paramsresults)从 XML 文档绑定到应用程序中可视组件的属性。例如,您可以连接到提供天气数据的 XML 文档,并将“地点”和“温度”数据元绑定到应用程序中的标签组件。指定城市的名称和温度在运行时即会出现在应用程序中。
  5. 添加触发器以启动数据绑定操作:使用附加至按钮的“触发器数据源”行为,或添加动作脚本。

导入 XML 数据源的架构

使用 XML 文档和数据绑定的关键在于导入架构(出现在“架构”面板中的数据结构),您可以稍后绑定到架构。

要导入示例架构:

  1. 将 XMLConnector 组件拖到舞台上。
  2. 单击“组件检查器”面板的架构选项卡,然后选择“结果”。
  3. 单击“架构”选项卡右上角的“导入示例架构”按钮以导入架构。
  4. 选择要用作示例的文件,然后单击“打开”。

    架构出现在“架构”选项卡中。

    例如,名为 Animals.xml 的文件的架构如下所示:





    这是 XML 文件的结构示意图。它表明 XMLConnector 组件的 results 属性是一个 XML 对象。该对象的根元素称为“Inventory”,它包含诸如“Vendor”、“Categories”等元素。“Vendor”元素包含一个名为“Name”的单一元素,它是字符串。类别字段包含一个名为“Birds”的元素,它包含属性 labelname。“Birds”元素还包含一个名为“Birds”的对象数组。每个这些对象都具有两个属性:nameurl。它还包含一个名为关键字的单一元素,该元素包含属性 id

    字符串和整数字段可以绑定到多种 UI 组件。数组字段“Birds”可以绑定到“列表”、“数据网格”或“组合框”组件,您也可以将 UI 组件直接绑定到数组内的字段。处理数据的应用程序的典型工作流程包括将数组从 XMLConnector 组件绑定到 DataSet 组件的 dataProvider 属性。在此方案下,数据集可用于管理数据。然后,可以使用数据绑定将数据集内的字段映射到任意 UI 组件。

虚拟 XML 架构

如果提供给应用程序的 XML 数据的结构不是所需的格式,虚拟架构能让您在执行绑定时更改基础数据结构的解释方式。新的结构是使用 XPath 语句派生的。请参阅支持的 XPath 表达式

例如,前面所述的 animals.xml 文件的架构(请参阅导入 XML 数据源的架构)定义了名为“禽类”的对象数组。每个对象包含两个字段(nameurl)。它们还包含带有一个名为 id 的字段的子元素。如果将“Birds”数组绑定到带有三个字段(nameurlid)的 DataSet 组件(使用 dataProvider 属性),则从该数组中返回的每一项都是使用以下算法构建的:

对于 XML 中的每一项:

  1. 创建一个空项目。
  2. 遍历定义的架构属性,从 XML 数据中抽取每个属性的值,然后将这些值指定给创建的项目。“名称”和“URL”字段将具有值。
  3. 将此项目提供给 DataSet 组件。

    该项目中不存在“ID”字段,因此,DataSet 组件的每个指定项目都有一个空白条目。

    该解决方法将在“禽类”数组内的对象下创建一个新的架构字段。新的架构字段名为 id。每个架构字段都具有一个名为 path 的属性,该属性接受指向 XML 文件中的数据的 XPath 语句。在这种情况下,XPath 语句将为 key/@id。当您进行到此过程的第二步时,数据绑定将为对象查找 id 字段。它会检查 path 属性,并使用 XPath 语句从 XML 文件中获取正确的数据。然后,将正确的数据传递到 DataSet 组件。有关手动创建架构的信息,请参阅在“架构”选项卡中处理架构(仅限于 Flash Professional)






支持的 XPath 表达式

支持下列 XPath 表达式:

注意:不支持以下运算符: "<", ">", "//".