有人能给我解释一下名称空间到底是什么吗(xmlns="...")如何在使用E4X ( ActionScript 3中的..preferrably)导航XML时使用它们?
我不能完全理解它们的目的和用法。
发布于 2011-11-10 22:42:26
从理论上讲,XML名称空间用于避免与标记名冲突。因此,我可以创建一个名称空间,其中包含一个名为"mytag“的标记,而其他人可以创建一个具有相同标记"mytag”的不同名称空间,这样就不会有任何冲突。每个"mytag“标签都会被清楚地区分开来。
在实践中,我发现XML名称空间几乎毫无用处(您经常让两个开发人员为同一个XML文件创建标记吗?)这只会让解析变得非常困难。
在EX4中,您需要获取名称空间,然后为每个标记加上该名称空间的前缀。因此,例如,如果您想要访问标记<somenamespace::somename>,您可以这样写:
var somenamespace:Namespace = xml.namespace("somenamespace");
var sometag:XML = somenamespace::somename[0];如果您在Google上搜索,您会找到一些AS3类,它们从XML中删除了这些无用的名称空间,从而使解析变得更容易。
发布于 2011-11-10 23:15:27
许多人认为詹姆斯·克拉克的解释是最清楚的:
http://www.jclark.com/xml/xmlns.htm
https://stackoverflow.com/questions/8080947
复制相似问题