| 包 | 顶级 |
| 类 | public final class QName |
| 继承 | QName Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 处理标准,该标准在 ECMAScript for XML (E4X) 规范(ECMA-357 第 2 版)中定义。
限定标识符的计算结果为 QName 对象。如果指定了 XML 元素的 QName 对象而未标识命名空间,则将关联的 QName 对象的 uri 属性设置为全局默认命名空间。如果指定了 XML 属性的 QName 对象而未标识命名空间,则将 uri 属性设置为空字符串。
了解详细信息
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| localName : String [只读]
QName 对象的局部名称。 | QName | ||
| uri : String [只读]
QName 对象的统一资源标识符 (URI)。 | QName | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
创建一个 QName 对象,该对象是另一个 QName 对象的副本。 | QName | ||
使用 Namespace 对象中的 URI 和 QName 对象中的 localName 创建一个 QName 对象。 | QName | ||
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
返回一个包含 URI 的字符串和 QName 对象的局部名称(用“::”分隔)。 | QName | ||
返回 QName 对象。 | QName | ||
localName | 属性 |
uri | 属性 |
QName | () | 构造函数 |
public function QName(qname:QName)| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
创建一个 QName 对象,该对象是另一个 QName 对象的副本。如果传递给构造函数的参数是 QName 对象,则将创建 QName 对象的一个副本。如果该参数不是 QName 对象,则将其转换为字符串并分配给新 QName 实例的 localName 属性。如果参数是 undefined 或未指定,则将创建 localName 属性设置为空字符串的新 QName 对象。
注意:因为每种形式接受不同的参数,所以此类显示两个构造函数项。根据传递的参数类型和数量的不同(由每一项详细定义),此构造函数具有不同的行为。ActionScript 3.0 不支持方法或构造函数重载。
参数qname:QName — 要复制的 QName 对象。任何其他类型的对象都将转换为指定给新 QName 对象的属性 localName 的字符串。
|
QName | () | 构造函数 |
public function QName(uri:Namespace, localName:QName)| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
使用 Namespace 对象中的 URI 和 QName 对象中的 localName 创建一个 QName 对象。如果任一参数不是预期的数据类型,则该参数将转换为字符串并分配给新 QName 对象的相应属性。例如,如果两个参数均为字符串,则将返回 uri 属性设置为第一参数且 localName 属性设置为第二参数的新 QName 对象。换言之,使用以下数据类型以及其他数据类型的 uri 和 localName 参数组合都是构造函数的有效形式:
QName (uri:Namespace, localName:String); QName (uri:String, localName: QName); QName (uri:String, localName: String);
如果将 null 传递给 uri 参数,则新 QName 对象的 uri 属性将设置为 null。
注意:因为每种形式接受不同的参数,所以此类显示两个构造函数项。根据传递的参数类型和数量的不同(由每一项详细定义),此构造函数具有不同的行为。ActionScript 3.0 不支持方法或构造函数重载。
参数uri:Namespace — 将从其复制 uri 值的 Namespace 对象。任何其他类型的参数将转换为字符串。
| |
localName:QName — 将从其复制 localName 值的 QName 对象。任何其他类型的参数将转换为字符串。
|
toString | () | 方法 |
valueOf | () | 方法 |
- 创建 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 = <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel rdf:about="http://www.xml.com/cs/xml/query/q/19">
<title>Test RSS</title>
<link>http://www.adobe.com/</link>
<description>This is a test RSS document.</description>
<language>en-us</language>
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://www.adobe.com/devnet/flash/"/>
<rdf:li rdf:resource="http://www.adobe.com/devnet/flex/"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://www.adobe.com/devnet/flash/">
<title>Flash Developer Center</title>
<link>http://www.adobe.com/devnet/flash/</link>
<description>Welcome to the Flash Developer Center</description>
<dc:creator>Adobe</dc:creator>
<dc:date>2005-08-08</dc:date>
</item>
<item rdf:about="http://www.adobe.com/devnet/flex/">
<title>Flex Developer Center</title>
<link>http://www.adobe.com/devnet/flex/</link>
<description>Welcome to the Flex Developer Center</description>
<dc:creator>Adobe</dc:creator>
<dc:date>2005-10-16</dc:date>
</item>
</rdf:RDF>;
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"
}
}
}
}
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性