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>
<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>
<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
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。
--kaixuan's cnblogs