我正在使用 Action script 3 构建应用程序 我正在从 Web 检索一些 XML 但是节点名称是 mms:Image mms:Results 等我的操作脚本编译器抛出错误,因为它不希望在节点中看到分号姓名。如何访问节点?
谢谢
我正在使用 Action script 3 构建应用程序 我正在从 Web 检索一些 XML 但是节点名称是 mms:Image mms:Results 等我的操作脚本编译器抛出错误,因为它不希望在节点中看到分号姓名。如何访问节点?
谢谢
这些是 XML 名称空间,使用起来会很痛苦。查看有关使用 XML 名称空间的 Adobe 文档。
基本上你必须得到命名空间:
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 文档,以确保您的文档格式正确(甚至可以通过验证器传递它)。