有人能解释一下XML中究竟是什么名称空间(xmlns =“...”)以及如何使用E4X来导航XML(最好是在ActionScript 3中)?
我无法完全理解他们的目的和用法。
答案 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)
很多人都指出詹姆斯克拉克的解释是最清楚的: