我的XML的值如下:
<products>
<product id="1" name="All Products">
<code>000</code>
<shortname>ALL</shortname>
<cost>0.0</cost>
<product id="2" name="Product Group A">
<code>001</code>
<shortname>A</shortname>
<cost>0.0</cost>
<product id="4" name="Product A">
<code>11</code>
<shortname>ProductA</shortname>
<cost>0.4</cost>
</product>
</product>
</product>
</products>
我通过调用xml.children()来声明一个XMLList,并将它绑定到一个树,如下所示:
var products:XMLList = xml.children()
<mx:Tree id="treeProducts" dataProvider="{products}" labelField="@name" width="100%" />
但是,我的树不知道要为哪个XML元素创建节点,因此我为每个元素获取节点,即:
-All Products - 000 - ALL - 0.0 - Product Group A - 001 - A - 0
我真正想要的只是显示每个@name
的{{1}}值:
- 所有产品
- 产品组A
- 产品A
我错过了一些完全明显的东西吗?
答案 0 :(得分:2)
如果您只是从树中收集节点,我认为E4X表示法是最好的方法:
xml..(@name != '')
(或某些此类,未检查准确性)
但是,这不会保留树结构。由于您需要树数据的特定视图,我建议应用ITreeDataDescriptor的实现,在其方法中过滤命名节点: