XML From Action Script[AS中的XML学习笔记]

XML From Action Script

XML 是 eXtensible Markup Language (可扩展标记语言)的缩写。


E4X

ECMAScript for XML 规范定义了一组用于处理 XML 数据的类和功能。这些类和功能统称为 E4X。 ActionScript 3.0 包含 
以下 E4X 类:XML、 XMLList、 QName 和 Namespace。

  1. E4X 包含了一些直观运算符(如点 (.) 和属性标识符 (@) 运算符),用于访问 XML 中的属性 (property)和属性 (attribute)。
  2. 使用 appendChild() 方法可为 XML 分配一个新的子节点。

XML 对象可能表示 XML 元素、属性、注释、处理指令或文本元素。

  1. 注释与处理指令
 
 
  1. <!--This is a comment. -->
  2. <?PROC_INSTR sample ?>
  1. 可以使用 comments() 和 processingInstructions() 方法创建新的 XML 对象。
  2. 静态属性: 
    • ignoreComments 和 ignoreProcessingInstructions 属性确定分析 XML 对象时是否忽略注释或处理指令。
    • ignoreWhitespace 属性确定在只由空白字符分隔的元素标签和内嵌表达式中是否忽略空白字符。
    • prettyIndent 和 prettyPrinting 属性用于设置由 XML 类的 toString() 和 toXMLString() 方法返回的文本的格式。
  3. 方法: 

    处理 XML 对象的分层结构: 
    • appendChild() 
    • child() 
    • childIndex() 
    • children() 
    • descendants() 
    • elements() 
    • insertChildAfter() 
    • insertChildBefore() 
    • parent() 
    • prependChild() 
    用于处理 XML 对象属性 (attribute): 
    • attribute() 
    • attributes() 
    用于处理 XML 对象属性 (property): 
    • hasOwnProperty() 
    • propertyIsEnumerable() 
    • replace() 
    • setChildren() 
    用于处理限定名和命名空间: 
    • addNamespace() 
    • inScopeNamespaces() 
    • localName() 
    • name() 
    • namespace() 
    • namespaceDeclarations() 
    • removeNamespace() 
    • setLocalName() 
    • setName() 
    • setNamespace() 
    用于处理和确定某些类型的 XML 内容: 
    • comments() 
    • hasComplexContent() 
    • hasSimpleContent() 
    • nodeKind() 
    • processingInstructions() 
    • text() 
    用于转换为字符串和设置 XML 对象的格式: 
    • defaultSettings() 
    • setSettings() 
    • settings() 
    • normalize() 
    • toString() 
    • toXMLString() 
    其它几个方法: 
    • contains() 
    • copy() 
    • valueOf() 
    • length()


XMLList 对象

XMLList 实例表示 XML 对象的任意集合。 方法:

以下方法用于处理 XMLList 对象的分层结构: 
• child() 
• children() 
• descendants() 
• elements() 
• parent() 
以下方法用于处理 XMLList 对象属性 (attribute): 
• attribute() 
• attributes() 
以下方法用于处理 XMLList 属性 (property): 
• hasOwnProperty() 
• propertyIsEnumerable() 
以下方法用于处理和确定某些类型的 XML 内容: 
• comments() 
• hasComplexContent() 
• hasSimpleContent() 
• processingInstructions() 
• text() 
以下方法用于转换为字符串和设置 XMLList 对象的格式: 
• normalize() 
• toString() 
• toXMLString() 
还有其它几个方法: 
• contains() 
• copy() 
• length() 
• valueOf()

对于只包含一个 XML 元素的 XMLList 对象,可以使用 XML 类的所有属性和方法。

初始化 XML 变量

  1. 直接赋值
  2. 使用 new 构造函数从包含 XML 数据的字符串创建 XML 对象的实例
  3. 将数据按引用 (从其它变量)传递到 XML 对象
  4. 使用 URLLoader 类从 URL 加载 XML 数据
  5. 使用 XMLSocket 类从套接字连接读取 XML 数据

遍历 XML 结构

  1. 使用点 (.) 运算符和后代存取器 (..) 运算符可以访问 XML 对象的子属性
  2. parent() 方法返回 XML 对象的父项
  3. 可以使用子级列表的序数索引值访问特定的子对象
  4. 可以使用 child() 方法导航到名称基于变量或表达式的子项
  5. 使用 @ 符号 (属性标识符运算符)可以访问 XML 或 XMLList 对象的属性
  6. 使用 attribute() 或 attributes() 方法访问 XML 或 XMLList 对象的特定属性或所有属性 
    attribute("*") == attributes() 
    可以使用 attribute() 和 elements() 方法来识别具有匹配属性或元素的属性,还可以使用 hasOwnProperty() 方法

使用 for..in 和 for each..in 语句

for..in 语句用于遍历 XMLList 中的一组属性名称 
for each..in 语句用于遍历 XMLList 中的属性

XML 命名空间

 
 
  1. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  2. soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  3. </soap:Envelope>;

XML 类包含用于处理命名空间的以下方法:addNamespace()、inScopeNamespaces()、 localName()、 name()、 namespace()、namespaceDeclarations()、 removeNamespace()、 setLocalName()、setName() 和 setNamespace()。

可设置default xml namespace

XML 类型转换

XML 和 XMLList 类都包含一个 toString() 方法和一个 toXMLString()方法。 toXMLString() 方法返回包含该 XML 对象的所有标签、属性、命名空间声明和内容的字符串。 
对于包含简单内容的 XML 对象 (只包含一个文本元素的对象), toString() 方法只返回该元素的文本内容。 
trace() 方法默认使用toString()

读取外部 XML 文档

可以使用 URLLoader 类从 URL 加载 XML。 
还可以使用 XMLSocket 类设置与服务器的异步 XML 套接字连接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习在Qt处理XML文件可以按照以下步骤进行: 1. 了解XML基础知识:学习XML的基本概念、语法和结构,了解XML的用途和优势。掌握XML的标签、元素、属性和命名空间等基本概念。 2. 学习QtXML模块:Qt提供了Qt XML模块,用于处理XML文件。学习Qt XML模块的相关类和函数,包括QDomDocument、QDomElement、QDomNode等。 3. 解析XML文件:学习使用Qt XML模块解析XML文件。可以使用QDomDocument类来读取和解析XML文件,获取XML文档的根节点,并通过遍历节点和获取节点属性等方式来访问XML文件的数据。 4. 创建和编辑XML文件:学习使用Qt XML模块创建和编辑XML文件。可以使用QDomDocument类创建一个新的XML文档,并使用QDomElement和QDomNode等类来创建元素、属性和子节点,然后将其保存为XML文件。 5. 数据操作:学习如何在Qt处理XML文件的数据。可以使用Qt提供的API来读取、修改和删除XML文件的数据,包括添加子节点、修改属性值、删除节点等操作。 6. 错误处理:学习如何处理XML文件解析过程可能出现的错误。Qt提供了错误处理机制,可以捕获和处理解析XML文件时可能出现的错误,如XML语法错误、节点不存在等。 7. 实践项目:通过实践项目来巩固所学知识。可以尝试编写一个简单的程序,使用Qt XML模块读取和解析XML文件,并对文件的数据进行操作和展示。 此外,Qt官方文档提供了详细的XML模块的使用说明和示例代码,可以参考官方文档来学习和理解更多关于在Qt处理XML文件的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值