我正在使用Action脚本3构建应用程序我正在从Web检索一些XML但是节点名称是mms:图像mms:结果等我的动作脚本编译器抛出一个错误,因为它不期望看到半冒号在节点名称中。如何访问节点?
感谢
答案 0 :(得分:5)
这些是XML命名空间,它们可能很难使用。查看Using XML namespaces上的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 Namespaces的w3c文档,以确保您的文档格式正确(甚至可以通过验证程序传递)。