flex中创建XML对象

复制代码

 1 var flexXML:XML=
 2 
 3 <RIA>
 4 
 5          <FlashPlayer>
 6 
 7                    <Flash>Flash CS3</Flash>
 8 
 9                    <Flex>Flex3</Flex>
10 
11          </FlashPlayer>
12 
13          <Ajax>
14 
15                    <GoogleAjax>GoogleAjax1.0</GoogleAjax>
16 
17          </Ajax>
18 
19 </RIA>
20 
复制代码

注意:使用XML表达式的时候与一般的赋值语句不同。语句结束没有“;”标识符,直接结束。XML字符串也不需要通过引号或者单引号进行限定。

       第二种方式是通过XML对象的构造函数的方式构建XML对象。如下代码所示。

复制代码

 1var flexXMLStr:String="<RIA>"
 2
 3                    +"<FlashPlayer>"
 4
 5                    +"<Flash>Flash CS3</Flash>"
 6
 7                    +"<Flex>Flex3</Flex>"
 8
 9                    +"</FlashPlayer>"
10
11                    +"<Ajax>"
12
13                    +"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"
14
15                    +"</Ajax>"
16
17                    +"</RIA>";
18
19var flexXML1:XML=new XML(flexXMLStr);
20
复制代码

     第三种方式是通过加载外部XML文件的方式构建XML对象。这种加载的本质其实也是使用构造函数的方式进行加载。XML文件RIA.xml文件内容如下。

复制代码

 1<RIA>
 2
 3         <FlashPlayer>
 4
 5                   <Flash>Flash CS3</Flash>
 6
 7                   <Flex>Flex3</Flex>
 8
 9         </FlashPlayer>
10
11         <Ajax>
12
13                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>
14
15         </Ajax>
16
17</RIA>
18
19可以通过制定RIA.xml文件位置的方式加载该文件内容到XML对象中,。代码如下所示。
20
21var flexXML2:XML;
22
23var flexLoader:URLLoader = new URLLoader();
24
25var flexRequest:URLRequest = new URLRequest("RIA.xml");
26
27function onComplete(event:Event):void
28
29{
30
31         var flexLoader:URLLoader = event.target as URLLoader;
32
33if (flexLoader != null)
34
35{
36
37         flexXML2 = new XML(flexLoader.data);
38
39         trace(flexXML2.toXMLString());
40
41}

42
43else
44
45{
46
47         trace("加载错误!");
48
49}

50
复制代码

在上面的代码中加载外部的资源是异步进行的。需要声明一个事件处理机制,通过这个事件监听来响应加载结束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对象的一部分一致。

原文地址:https://www.cnblogs.com/tianlangshu/p/2537523.html