·您当前的位置:主页 > 技术教程 > Flex技术 >

Flex读取带名字空间的XML和Flex读取不带名字空间的XML

时间:2013-05-08 17:40CuPlayer.com
Flex读取带名字空间的XML和Flex读取不带名字空间的XML,Namespaces翻译为名字空间。是为了防止XML中的标签冲突的,如果XML中定义了xmlns,读取的时候就要用“名字空间::子标签”的方式来读取值。

带名字空间的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); //CuPlayer.com 输出整个XML 
  3.  
  4. var ns:Namespace = new Namespace("http://xspf.org/ns/0/"); 
  5. trace(gXml.ns::users.ns::user.ns::user_name.toString());  
  6. //CuPlayer.com 输出带名字空间的XML 
  7. trace(gXml.users.user.user_name.toString());     
  8. //CuPlayer.com 输出不带名字空间的XML 

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

热门文章推荐

请稍候...