1

我正在使用 Action script 3 构建应用程序 我正在从 Web 检索一些 XML 但是节点名称是 mms:Image mms:Results 等我的操作脚本编译器抛出错误,因为它不希望在节点中看到分号姓名。如何访问节点?

谢谢

4

1 回答 1

5

这些是 XML 名称空间,使用起来会很痛苦。查看有关使用 XML 名称空间的 Adob​​e 文档。

基本上你必须得到命名空间:

var mmsNS:Namespace = message.namespace("mms");

// alternatively for nested namespaces:

var mmsNS:Namespace = new Namespace("mms", " ... url of namespace ... ");

然后在您想要获取应用它的节点时使用它:

var data:XML = message.@mmsNS::Results;

如果您的所有 xml 都在特定命名空间中,则一个快捷方式是设置默认命名空间:

default xml namespace = mmsNs;

编辑:您尝试访问的 XML 命名空间必须在 XML 片段中声明:

<root xmlns:mms="http://example.com/mms">
    <mms:someNode someAttr="someVal" />
</root>

查看XML 命名空间的 w3c 文档,以确保您的文档格式正确(甚至可以通过验证器传递它)。

于 2010-06-09T21:12:02.200 回答