有人能解释一下XML中的命名空间(xmlns =“ ...”)到底是用来做什么的,以及在使用E4X(..最好是在ActionScript 3中)导航XML时如何使用它们吗?
我无法完全理解它们的目的和用法。
有人能解释一下XML中的命名空间(xmlns =“ ...”)到底是用来做什么的,以及在使用E4X(..最好是在ActionScript 3中)导航XML时如何使用它们吗?
我无法完全理解它们的目的和用法。
理论上,XML命名空间用于避免标签名称冲突。因此,我可以创建一个包含名为“mytag”的标签的命名空间,而其他人创建一个具有相同标签“mytag”的不同命名空间,就不会有任何冲突。每个“mytag”标签将被清楚地区分。
实际上,我发现XML命名空间几乎没有用处(你有多少次两个开发人员为同一个XML文件创建标签?),只会使解析变得非常困难。
在EX4中,您需要获取命名空间,然后使用该命名空间为每个标签添加前缀。例如,如果您想访问标签<somenamespace::somename>
,则应编写:
var somenamespace:Namespace = xml.namespace("somenamespace");
var sometag:XML = somenamespace::somename[0];
如果你在谷歌上搜索,你会找到一些AS3类,可以从XML中删除这些无用的命名空间,使解析更容易。