【发布时间】:2014-04-04 23:26:34
【问题描述】:
函数XML::child()接受一个Object参数来指定要获取的子元素的名称。
但是,如果有命名空间,似乎没有办法指定命名空间。
我什至尝试过XML::setNamespace() 和default xml namespace,但也没有用。
我使用 E4X 解决了这个问题,但这不是我的首选。
XML:
<svg xmlns="http://www.w3.org/2000/svg">
<path d= "..." />
<anotherElement />
<path d="..." />
</svg>
作为:
var svg: XML = new XML( svgData ); // read from the XML file above
var ns: Namespace = new Namespace( "http://www.w3.org/2000/svg" );
svg.setNamespace( ns ); // doesn't seem to help
default xml namespace = ns; // doesn't help either
var child:* = svg.child( "path" ); // how to specify namespace?
var child2:* = svg.ns:path; // works, but I'd rather use the XML class API
【问题讨论】:
-
您能否更具体地说明您想将命名空间用于什么目的?我不明白你的“首选选项”是什么,因为
svg.ns::path工作正常.. -
我不想使用命名空间,我必须这样做,SVG 文件必须具有该命名空间。没什么好理解的,我尝试过 E4X 解决方案,我知道它有效,我只是对另一种方式感到好奇,因为它应该适用于任何 XML,无论有无命名空间,但文档似乎没有解决这个问题。
标签: xml actionscript-3 e4x