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对象的一部分一致。