|
<div id="cnblogs_post_body">
找到个不错的XML对象介绍,收藏下:http://blog.csdn.net/flex_program/article/details/2338924
在ActionScript 3.0中,提供了三种最基本的方法创建XML对象。
q 第一种通过表达式的方式直接建立XML对象。如下代码所示
var flexXML:XML=
<RIA>
<FlashPlayer>
<Flash>Flash CS3</Flash>
<Flex>Flex3</Flex>
</FlashPlayer>
<Ajax>
<GoogleAjax>GoogleAjax1.0</GoogleAjax>
</Ajax>
</RIA>
注意:使用XML表达式的时候与一般的赋值语句不同。语句结束没有“;”标识符,直接结束。XML字符串也不需要通过引号或者单引号进行限定。
q 第二种方式是通过XML对象的构造函数的方式构建XML对象。如下代码所示。
var flexXMLStr:String="<RIA>"
+"<FlashPlayer>"
+"<Flash>Flash CS3</Flash>"
+"<Flex>Flex3</Flex>"
+"</FlashPlayer>"
+"<Ajax>"
+"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"
+"</Ajax>"
+"</RIA>";
var flexXML1:XML=new XML(flexXMLStr);
q 第三种方式是通过加载外部XML文件的方式构建XML对象。这种加载的本质其实也是使用构造函数的方式进行加载。XML文件RIA.xml文件内容如下。
<RIA>
<FlashPlayer>
<Flash>Flash CS3</Flash>
<Flex>Flex3</Flex>
</FlashPlayer>
<Ajax>
<GoogleAjax>GoogleAjax1.0</GoogleAjax>
</Ajax>
</RIA>
可以通过制定RIA.xml文件位置的方式加载该文件内容到XML对象中,。代码如下所示。
var flexXML2:XML;
var flexLoader:URLLoader = new URLLoader();
var flexRequest:URLRequest = new URLRequest("RIA.xml");
function onComplete(event:Event):void
{
var flexLoader:URLLoader = event.target as URLLoader;
if (flexLoader != null)
{
flexXML2 = new XML(flexLoader.data);
trace(flexXML2.toXMLString());
}
else
{
trace("加载错误!");
}
在上面的代码中加载外部的资源是异步进行的。需要声明一个事件处理机制,通过这个事件监听来响应加载结束XML的事件。
注意:在创建XML对象时,XML内容必须遵循XML的规范。读者可以在www.w3c.org网站上详细察看这个规范。
以上三种方式是最常用的创建XML对象的方法。还会有一些特殊的创建XML对象的方法,例如使用XMLSocket对象构建XML对象。XMLSocket对象会在稍后内容讲解。
创建的XML对象中,有一系列属性和方法进行简单的XML处理。常用属性如表4.5所示。常用方法如表所示。
表 XML对象常用属性
属性名称
| 属性分类
| 属性说明
| ignoreComments
| 注释与说明属性
| 取值ture或false,表明读取XML时是否忽略注释。
| ignoreProcessingInstructions
| 注释与说明属性
| 取值ture或false,表明读取XML时是否忽略说明和介绍。
| ignoreWhitespace
| 空白
| 取值ture或false,表明是否忽略XML内容中,纯粹的空白。
| prettyIndent
| 格式属性
| 取值true或false,表明是否输出成字符串时带有缩紧。
| prettyPrinting
| 格式属性
| 取值true或false,表明打印输出时有严格的打印格式。
|
表 XML对象常用方法
方法名称
| 方法分类
| 方法说明
| appendChild
| 操作节点方法
| 添加节点到XML对象的尾部。参数为一个XML对象或者XML表达式。
| child
| 操作节点方法
| 返回XML对象的子节点,参数为子节点的名称
| children
| 操作节点方法
| 返回XML对象的所有子节点,返回类型为XMLList类型。
| elements
| 操作节点方法
| 返回XML对象的子节点或者属性,参数为子节点或属性名称。
| insertChildAfter
| 操作节点方法
| 插入节点到指定节点之后,参数为指定节点。
| insertChildBefore
| 操作节点方法
| 插入节点到指定节点之前,参数为指定的节点。
| parent
| 操作节点方法
| 返回当前节点的父节点。
| prependChild
| 操作节点方法
| 返回当前节点的前一个节点。
| attribute
| 操作属性方法
| 返回指定的属性,参数为指定的属性名称。
| attributes
| 操作属性方法
| 返回XML对象的所有属性。
| hasComplexContent
| 内容操作方法
| 判断当前节点内容是否为复杂内容,返回值为true或false。复杂内容是指包括有子节点的XML对象。
| hasSimpleContent
| 内容操作方法
| 判断当前节点内容是否为简单内容,返回指为true或false。简单内容是指单一的字符串内容。
| toString
| 内容操作方法
| 将XML对象输出为字符串内容。
| toXMLString
| 内容操作方法
| 输出为XML字符串的内容。
| copy
| 对象操作方法
| 拷贝XML对象的副本,返回值为当前节点的内容。
| valueOf
| 对象操作方法
| 返回指定节点内容,不包括节点的表示。
| length
| 对象操作方法
| 返回当前XML对象下一级节点个数。
|
在操作XML对象的过程中还会经常使用XMLList对象。XMLList对象的方法与XML对象很像,使用起来具有统一性。XML的整体结构是一个树型结构,所以在使用树型结构的过程中,通过XML和XMLList对象的使用可以达到整体与部分一致的操作。这样,就会使操作XML整体与操作XML对象的一部分一致。 |
|