Flex 中将一个 XML 转换成一个对象

在 Flex 中, 一般将一个 XML 转换成一个对象, 供显示层或其它类使用.
可以根据 XML 标签的属性名, 标签名 及 类的属性名索引 进行转换.

public function convertXMLIntoObject(source:XML, target:Object, convertAttributes:Boolean=true, convertChildren:Boolean=true, convertComplexContent:Boolean=false):Object 
{ 
    if ( source && target ) { 
        var localName:String; 
        if ( convertAttributes ) { 
            for each ( var attribute:XML in source.@* ) { 
                localName = attribute.localName(); 
                if ( target.hasOwnProperty(localName) ) { 
                    try { target[localName] = attribute.toString(); } catch(e:Error) {} 
                } 
            } 
        } 
        if ( convertChildren ) { 
            for each ( var child:XML in source.* ) { 
                localName = child.localName(); 
                if ( target.hasOwnProperty(localName) ) { 
                    if ( child.hasComplexContent()  ) { 
                        if ( convertComplexContent ) { 
                            try { target[localName] = child.*.toXMLString(); } catch (e:Error) {} 
                        } 
                    } else { 
                        try { target[localName] = child.toString(); } catch (e:Error) {} 
                    } 
                } 
            } 
        } 
    } 
    return target; 
} 

注意:
上述方法, 只有类的属性是 String 类型, 方可转换, 类的非 String 类型值应在调用该方法以后, 手动进行赋值.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值