FLEX读取带有xmlns命名空间的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); //输出整个XMLvar ns:Namespace = new Namespace("http://xspf.org/ns/0/");trace(gXml.ns::users.ns::user.ns::user_name.toString()); //输出带名字空间的XMLtrace(gXml.users.user.user_name.toString()); //输出不带名字空间的XML
Namespaces翻译为名字空间。是为了防止XML中的标签冲突的,如果XML中定义了xmlns,读取的时候就要用“名字空间::子标签”的方式来读取值。
注意:读取标签里的属性里不能使用名字空间。
例如读取ns::user标签里的id属性,不能写成ns::user.ns::@id,应该直接写成ns::user.@id。
转自:http://www.cnblogs.com/kaixuan/archive/2009/10/20/1587013.html