FLEX程序设计--XML(1)

简介:

1.XML概述:XML技术是一种基于标签的层次结构技术.

1.1.XML document(XML文件):指的是XML文件,完全不同于XMLDocument类.

1.2.XML node(XML节点) 是XML的基本组成部分,节点可以是元素,文本节点或属性.

1.3.XML element(XML元素):一般被理解为标签,但是XML元素包含的都是成对标签.

1.4.Root  node(根节点):最外层的XML元素

1.5.Attribute(属性):XML元素的一部分,位于标签内.

1.6.XML declaration(XML声明):一个特殊的标签,说明该文件是XML文件.

2XML数据的优点:

2.1.用户可以手工编辑或程序编写XML,可以很容易表示负责的数据类型.

2.2.大部分服务端语言都支持XML的读取操作.

2.3.XML是一种标准,可以很容易的在不同应用程序或者平台上传递和存储.

3.创建XML对象

3.1.使用XML标签创建XML对象

格式:var XML变量:XML=<根元素>

                                 <元素1/>

                                  <元素2/>

                                   .......

                                   <元素n/>

                                   </根元素>;

ContractedBlock.gif ExpandedBlockStart.gif Code
                                //{}操作符可以用来进行动态数据绑定
                var ss:String="a";
                var example:XML
=<abc>
                                
<a>{ss}</a>
                                
<b>b</b>
                                
<c>c</c>
                                
</abc>;
                Alert.show(example);

3.2使用字符串创建XML对象

格式: var XML变量:XML=new XML(字符串);

                             var ss:String = " a " ;
                 var str:String
= " <abc><a> " + ss + " </a><b>b</b><c>c</c></abc> " ;
                 var example:XML
= new  XML(str);
                Alert.show(example);

4.XML对象添加元素:为XML对象添加新元素有四种方法:1将元素名作为属性添加元素,2使用"[]"操作符添加元素,使用insertChildBefore方法添加元素,使用insertChildArter方法添加元素.

4.1将元素名作为属性添加元素

格式:XML对象名.新元素名=内容;

4.2使用"[]"操作符添加元素

格式:XML对象名[新增元素名]=内容;

4.3.insertChildBefore方法:在某元素前插入新元素.

格式:XML对象名.insertChildBefore(XML元素,新元素);

4.4.insertChildArter方法:在某元素后

插入新元素.

格式:XML对象名.insertChildArter(XML元素,新元素);

ContractedBlock.gif ExpandedBlockStart.gif Code
                                var example:XML=<example/>;
                
//使用元素名作为属性添加
                example.newElemnet=<newElemnet/>;
                var id:
int=10;
                
//使用"[]"操作符
                example["user"+id]="";
                example.two
="";
                
//使用XML自带的方法
                example=example.insertChildBefore(example.two,<one/>);
                example
=example.insertChildAfter(example.two,<three/>);

5.XML对象中添加元素内容:XML元素内容指两个封闭标签间的内容.

5.1将元素名作为属性添加元素内容

格式:XML对象.元素名=值;

ContractedBlock.gif ExpandedBlockStart.gif Code
                          var example:XML=<example/>
                              
//使用元素名作为属性添加
                example.firstname="Jason";
                example.age
=25;
                example.boolean
=true;
                example.abc
=["a", undefined, "b""c"null7false];
                
/*显示:
                   <example>
                   <firstname>Jason</firstname>
                   <age>25</age>
                   <boolean>true</boolean>
                   <abc>a,,b,c,,7,false</abc>
                   </example>
                 * 
*/

5.2.使用XML类中的方法添加元素内容

XML对象.appendChild(内容);

XML对象.prependChild(内容);

XML对象名.insertChildBefore(XML元素,新元素);

XML对象名.insertChildArter(XML元素,新元素);

ContractedBlock.gif ExpandedBlockStart.gif Code
                            var example:XML=<example/>;
                
//使用XML类方法
                example.appendChild(<two>2</two>);//增加<two>元素值为2
                example.prependChild(<one>"number 1"</one>);//增加<one>元素,值为"number 1".
                example.insertChildAfter(example.one[0], 1.5);//在第一个<one>后添加值为1.5
            example.insertChildBefore(example.two[0], <part>1.75</part>);//在第一个<two>后添加<part>新元素,值为:1.75
                /*显示
                 *<example>
                   <one>"number 1"</one>
                   1.5
                   <part>1.75</part>
                   <two>2</two>
                 </example> 
*/ 

6.XML元素中添加属性:包含在元素内的名称和值.

6.1.使用"@"操作符添加属性

格式:XML对象名.元素名.@属性=值;

6.2.使用"[]"操作符添加属性

格式:XML对象名.元素名.@[属性名]=值;

ContractedBlock.gif ExpandedBlockStart.gif Code
                               //使用"@"操作符
                var example:XML=<example><someElement/></example>;
                example.someElement.@number
=12.1;
                example.someElement.@string
="example";
                example.someElement.@boolean
=true;
                example.someElement.@array
=["a"null7, undefined, "c"];
                
//使用"[]"操作符
                example.someElement.@["color" + 11]="red";
                Alert.show(example);
            
/*显示:
               <example>
               <someElement number="12.1" string="example" boolean="true" array="a,,7,,c" color11="red"/>
               </example>
             * 
*/

7.从XML中读取元素

从XML中读取元素可以使用elements方法,elements方法返回该XML根节点下全部直接子节点元素.

格式:XML对象.elements();

ContractedBlock.gif ExpandedBlockStart.gif Code
                       public function ReadXml()
            {
                var menu:XML
=<menu>
                        
<menuitem label="File">
                            
<menuitem label="New"/>
                        
</menuitem>
                        
<menuitem label="Help">
                            
<menuitem label="About"/>
                        
</menuitem>
                        This 
is a text node
                    
</menu>;
                var result:String
="";
                
for each (var element:XML in menu.elements())
                {
                    result
=result + element.@label + "\n";
                }
                Alert.show(result);
                
/*返回结果
                   File
                   Help
                 
*/ 
                
//在这边因为File和Help是根节点的直接子节点,所以只返回这两个节点,
                
//而New和About则是这两个节点的子节点,所以不返回
                
//如果要返回所有节点需要向下递归
                walk(menu);
                
/*返回结果
                 *
                 File
                 New
                 Help
                 About 
                 
*/
            }

            
public function walk(node:XML):void
            {
                var result:String
="";
                
for each (var element:XML in node.elements())
                {
                    Alert.show(element.@label);
                    walk(element);
                }
            }

 

版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

posted @ 2009-04-26 01:59 温景良(Jason) Views( 663) Comments( 1) Edit 收藏

  
#1楼 2756480 2013/8/21 8:51:58 2013-08-21 08:51 | 撑起一片天  
看到之后受益不少,谢谢你
http://pic.cnblogs.com/face/531770/20130613151724.png

公告

 
本文转自 我的程序人生博客园博客,原文链接: http://www.cnblogs.com/wenjl520/archive/2009/04/26/1443718.html /,如需转载请自行联系原作者
 
 
相关文章
|
XML 数据格式 网络架构
|
XML 数据格式
Flex xml编辑器(老外写的)
github上的一个项目老外写的xml编辑器,灵活利用了Tree的labelFunction实现节点运行时展现。开源地址是 https://github.com/softinsure/XML-Editor-in-Flex  
|
XML 数据格式
Flex读取XML配置文件总结
http://developer.51cto.com/art/201008/215925.htm 在Flex中我们经常使用xml文件,因为Flex支持强大的E4X功能,读取xml相当简洁。总结一下常用的Flex读取XML配置文件的方法: 1.使用Model标签形式 首先声明Model标签,   xml形如:     hzd    123456        那么,只需要在初始化事件中直接调用即可,例如:model.username,model.psw即可取到想要的值。
701 0
|
XML 前端开发 数据格式
Flex + XML的图片轮显
点击查看示例运行效果>> 有待优化的问题: 1、载入图片未做loading处理; 2、图片未使用延时加载处理,默认加载了全部的图片; 3、界面UI美化 逻辑部分与JavaScript有些类似,在解析XML时,单独写了一个as类来处理,btn的外观使用了CSS进行控制,资源全部放在名为assets文件夹目录下,工程目录   主文件的代码(PictureSwitch.
810 0

相关课程

更多