Flex读取XML(带名字空间和不带名字空间)

带名字空间的XML

<?xml version="1.0" encoding="UTF-8"?>
<root version="1" xmlns="http://xspf.org/ns/0/">
    
<users id="user">
        
<user>
            
<user_name name="zzz">张三</user_name>
            
<user_age>23</user_age>
            
<user_birth>1984-02-21</user_birth>
            
<email>zhangsan@hotmail.com</email>
        
</user>
    
</users>
</root>

 

不带名字空间的XML

<?xml version="1.0" encoding="UTF-8"?>
<root version="1">
    
<users id="user">
        
<user>
            
<user_name name="zzz">张三</user_name>
            
<user_age>23</user_age>
            
<user_birth>1984-02-21</user_birth>
            
<email>zhangsan@hotmail.com</email>
        
</user>
    
</users>
</root>

 

读取方式示例

var gXml:XML = XML(event.result);
trace(gXml);        
//输出整个XML

var ns:Namespace = new Namespace("http://xspf.org/ns/0/");
trace(gXml.ns::users.ns::user.ns::user_name.toString());    
//输出带名字空间的XML

trace(gXml.users.user.user_name.toString());     
//输出不带名字空间的XML

 

Namespaces翻译为名字空间。是为了防止XML中的标签冲突的,如果XML中定义了xmlns,读取的时候就要用“名字空间::子标签”的方式来读取值。
注意:读取标签里的属性里不能使用名字空间。
例如读取ns::user标签里的id属性,不能写成ns::user.ns::@id,应该直接写成ns::user.@id。

posted @ 2009-10-20 16:41  1901  阅读(1829)  评论(0编辑  收藏  举报