2011-06-10 138 views
1

我正在嘗試篩選我的xml,以便不顯示子節點。 這個XML然後將被用作我的advanceddatagrid的數據提供者。 鑑於這種XML:Flex e4x篩選出兒童

<item text="folder1" display="true"> 
    <item text="folder2" display="true"> 
    <item text="node" display="true"> 
     <item display="false"> 
     <property1>val1</property1> 
     <property2>val2</property2> 
     </item> 
    </item> 
    </item> 
</item> 

我要的是隻具有屬性的顯示設置爲true節點的XML。 因此,生成的XML應該是:

<item text="folder1" display="true"> 
    <item text="folder2" display="true"> 
    <item text="node" display="true"> 
    </item> 
    </item> 
</item> 

當我嘗試trace(data.item.(@display == 'true'));仍然顯示的每一個節點,即使顯示虛假的那些..

任何幫助,將不勝感激..

回答

1

沒關係,這是我如何解決它現在:

var childNodes:XMLList = new XMLList(data.descendants("item").(@display == 'false')); 
for (var i:int = childNodes.length() - 1; i >= 0; i--) { 
    delete childNodes[i]; 
} 
+0

+1這會學我:) – Ryan 2011-06-10 13:05:13

0

我認爲這是由於XML的格式而發生的。

folder1下的所有項目元素都是folder1的子節點。由於它具有 display =「true」,所以跟蹤將顯示其所有子級。

其他人,這是XML格式正確的搜索?