我需要知道如何在Flex 3&中解析变量路径。 E4X。例如,我有两个XML字符串,其中一个元素的名称是唯一的区别。
<NameOfRoot>
<NameOfChild1>
<data>1</data>
</NameOfChild1>
</NameOfRoot>
<NameOfRoot>
<NameOfChild2>
<data>2</data>
</NameOfChild2>
</NameOfRoot>
目前我正在访问这样的变量:
var data1:String = NameOfRoot.*::NameOfChild1.*::data;
var data2:String = NameOfRoot.*::NameOfChild2.*::data;
我宁愿让这个任务更抽象,所以如果引入“NameOfChild3”,我不需要更新代码。例如:
var data:String = NameOfRoot.*::{variable}.*::data;
有没有人了解如何做到这一点?
答案 0 :(得分:1)
var tagName:String = "NameOfChild1";
var data:String = NameOfRoot.child(tagName).data;
没有命名空间 - 不确定在你的情况下是否有必要,但我认为你会添加一些*::
的?
答案 1 :(得分:1)
这也有效:
var data:String = NameOfRoot..data;
但如果您有多个数据节点,则必须对某些内容进行排序。
答案 2 :(得分:0)
看起来像“。*。”操作会起作用。我想知道这是否是处理这个问题最简单的方法。
var data:String = NameOfRoot.*.*::data;