现在的位置: 首页 > 综合 > 正文

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

2013年12月04日 ⁄ 综合 ⁄ 共 1845字 ⁄ 字号 评论关闭

 

带名字空间的XML

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

不带名字空间的XML

  1. <root version="1">  
  2.     <users id="user">  
  3.         <user>  
  4.             <user_name name="zzz">张三</user_name>  
  5.             <user_age>23</user_age>  
  6.             <user_birth>1984-02-21</user_birth>  
  7.             <email>zhangsan@hotmail.com</email>  
  8.         </user>  
  9.     </users>  
  10. </root>  

读取方式示例

  1. var gXml:XML = XML(event.result);  
  2. trace(gXml);        //输出整个XML  
  3.   
  4. var ns:Namespace = new Namespace("http://xspf.org/ns/0/");  
  5. trace(gXml.ns::users.ns::user.ns::user_name.toString());    //输出带名字空间的XML  
  6.   
  7. trace(gXml.users.user.user_name.toString());     //输出不带名字空间的XML  

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

抱歉!评论已关闭.