XML,命名空间和E4X

时间:2011-11-10 14:22:13

标签: xml actionscript-3 namespaces e4x

有人能解释一下XML中究竟是什么名称空间(xmlns =“...”)以及如何使用E4X来导航XML(最好是在ActionScript 3中)?

我无法完全理解他们的目的和用法。

2 个答案:

答案 0 :(得分:1)

理论上,XML命名空间用于避免与标记名称冲突。因此,我可以创建一个包含名为“mytag”的标记的命名空间,而其他人创建一个具有相同标记“mytag”的不同命名空间,并且不存在任何冲突。每个“mytag”标签都会有明显的区别。

实际上,我发现XML命名空间几乎没用(你经常有两个开发人员为同一个XML文件创建标记吗?)并且只是让解析变得非常困难。

在EX4中,您需要获取命名空间,然后为每个标记添加该命名空间。因此,例如,如果您想要访问标记<somenamespace::somename>,您将编写:

var somenamespace:Namespace = xml.namespace("somenamespace");
var sometag:XML = somenamespace::somename[0];

如果您在Google上搜索,您会发现一些AS3类可以从XML中删除这些无用的命名空间,以便于解析。

答案 1 :(得分:1)

很多人都指出詹姆斯克拉克的解释是最清楚的:

http://www.jclark.com/xml/xmlns.htm