我的情况是属性的名称是xml namespace :: element(例如http://giggle.com/some/Path::Element
)。这是奇怪的情况,因为我可以读它,但我无法访问它。
这是一个例子:
var name: String = "http://giggle.com/some/Path::Element";
var obj: Object = createAttributes(name);
// Now we have obj:{ "http://giggle.com/some/Path::Element" : [an array] }
for (var attr : Object in obj[name]){
// do something
}
这只是对真实事物的简化。我似乎无法用obj.name
,obj[name]
和obj['"' + name + '"']
来阅读它。
我甚至尝试过类似的东西(elem的不同类型):
for (var elem: Object in obj) { // I tried Object, Array and * here
for (var c: Object in elem)
{
// do something with c
}
}
为什么会发生这种情况以及如何解决这个问题?由于这是一个有趣的问题,请不要考虑改变我创建obj的方式。 AS3允许创建这样的属性,我正在徘徊我们如何使用它。
答案 0 :(得分:2)
我猜对象的键就是你所命名的#34;奇怪的名字"。
键可以是名称或索引ID(字符串格式的数字" 1"," 2",..)
for (var key:String in obj) {
var value:* = obj[key];
}