XML、命名空间和 E4X

2024-03-31

有人可以解释一下 XML 中的命名空间 (xmlns="...") 到底有什么用,以及如何使用它们在使用 E4X 导航 XML 时使用它们(..最好在 ActionScript 3 中)?

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


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

在实践中,我发现 XML 命名空间几乎毫无用处(两个开发人员为同一个 XML 文件创建标签的频率如何?),而且只会使解析变得非常困难。

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

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

如果您在 Google 上搜索,您会发现一些 AS3 类从 XML 中删除了这些无用的名称空间,以使解析更容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XML、命名空间和 E4X 的相关文章

随机推荐