博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QName
阅读量:6508 次
发布时间:2019-06-24

本文共 3389 字,大约阅读时间需要 11 分钟。

包 顶级

类 public final class QName
继承 QName Inheritance Object
语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9 QName 对象表示 XML 元素和属性的限定名。 每个 QName 对象都具有一个本地名称和一个命名空间统一资源标识符 (URI)。 命名空间 URI 的值为 null 时,QName 对象可与任意命名空间匹配。 使用 QName 构造函数创建新的 QName 对象,该对象可以是另一个 QName 对象的副本,也可以是带有来自 Namespace 对象的 uri 和来自 QName 对象的 localName 的新 QName 对象。
特定于 E4X 的方法可以交替使用 QName 对象和字符串。 E4X 方法位于 QName、Namespace、XML 和 XMLList 类中。 这些 E4X 方法,既可以获取字符串,也可以获取 QName 对象。 这种互换性说明了命名空间如何支持诸如 XML.child() 方法的使用。

QName 类(与 XML、XMLList 和 Namespace 类一起)可实现强大的 XML 处理标准,该标准在 XML (E4X) 规范(ECMA-357 第 2 版)的 ECMAScript 中定义。

限定标识符的计算结果为 QName 对象。 如果指定了 XML 元素的 QName 对象而未标识命名空间,则将关联的 QName 对象的 uri 属性设置为全局默认命名空间。 如果指定了 XML 属性的 QName 对象而未标识命名空间,则将 uri 属性设置为空字符串。

QNameExample.as

下面的示例说明如何创建 QName 实例,并使用它选择 XML 元素。 下面说明了创建 QName 的两种方法:

创建 Namespace 实例,然后将其用作 QName 构造函数的输入。 如果稍后要将 Namespace.prefix 属性用作其它目的,则此方法是最佳方法。
使用 QName 构造函数中 uri 参数的简单字符串值创建 QName 实例。
此代码将执行以下操作:

定义一个 XML 变量,名为 rssXML。

创建一个新 Namespace 对象,其前缀为 dc。
创建新的 QName 对象,方法是使用 Namespace 对象和本地名称 creator。
调用 showDescendants() 方法,该方法使用 XML.descendants() 方法获取一个 XMLList 实例,其中包含限定名称与给定的 QName 实例相匹配的所有后代元素。
显示列表中每个元素的限定名称和文本值(使用 for each 循环)。
使用 uri 参数的字符串值和局部名称 date 创建另一个 QName 对象。
再次调用 showDescendants() 方法以显示后代元素的名称和文本值。
package
{

import flash.display.Sprite;public class QNameExample extends Sprite{    public function QNameExample()    {        var rssXML:XML =  
Test RSS
http://www.adobe.com/
This is a test RSS document.
en-us
Flash Developer Center
http://www.adobe.com/devnet/flash/
Welcome to the Flash Developer Center
Adobe
2005-08-08
Flex Developer Center
http://www.adobe.com/devnet/flex/
Welcome to the Flex Developer Center
Adobe
2005-10-16
; var dcNamespace:Namespace = new Namespace("dc", "http://purl.org/dc/elements/1.1/"); var creatorQName:QName = new QName(dcNamespace, "creator"); trace(creatorQName.uri); // http://purl.org/dc/elements/1.1/ trace(creatorQName.localName); // creator showDescendants(rssXML, creatorQName); var dateQName:QName = new QName("http://purl.org/dc/elements/1.1/", "date"); trace(dateQName.uri); // http://purl.org/dc/elements/1.1/ trace(dateQName.localName); // date showDescendants(rssXML, dateQName); } public function showDescendants(xmlData:XML, qualifiedName:QName):void { var decendantList:XMLList = xmlData.descendants(qualifiedName); for each (var element:XML in decendantList) { trace(element.name()); // the fully qualified name, // like "http://purl.org/dc/elements/1.1/::creator" trace(element); // the simple text value of each element, like "Adobe" } }}

}

本文转自jiahuafu博客园博客,原文链接如需转载请自行联系原作者

jiahuafu

你可能感兴趣的文章
2015年热门的国产开源软件TOP 50
查看>>
7 -- Spring的基本用法 -- 12... Spring 3.0 提供的表达式语言(SpEL)
查看>>
nginx反向代理架构与安装配置(一)
查看>>
Linux下 ln 命令详解
查看>>
jquery点击回到页面顶部方法
查看>>
中文转拼音without CJK
查看>>
js-权威指南学习笔记19.2
查看>>
Vue初探
查看>>
【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
查看>>
老毛桃PE修改方法(屏蔽更改主页,屏蔽加装的绿色浏览器)
查看>>
HBase入门基础教程 HBase之单机模式与伪分布式模式安装
查看>>
禁止光盘优盘自动播放(Shell Hardware Detection服务)
查看>>
算法笔记_052:蓝桥杯练习Multithreading(Java)
查看>>
Discuz! X2.5RC 全新安装图文教程
查看>>
替换值
查看>>
java的PDF纵横向打印
查看>>
基于 html5的 jquery 轮播插件 flickerplate
查看>>
犀牛Phinoceros 如何切换中文语言
查看>>
Python之Seaborn
查看>>
[Lucas定理]【学习笔记】
查看>>