Flex e4x отфильтровывает детей
Я пытаюсь отфильтровать xml, чтобы дочерние узлы не отображались. Затем этот xml будет использоваться в качестве поставщика данных для моей расширенной таблицы данных. Учитывая этот XML:
<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>
То, что я хочу, - это XML только с узлами, у которых для свойства установлено значение true. Итак, итоговый XML должен быть:
<item text="folder1" display="true">
<item text="folder2" display="true">
<item text="node" display="true">
</item>
</item>
</item>
Когда я пытаюсь trace(data.item.(@display == 'true'));
все узлы по-прежнему отображаются, даже те, у которых отображается false.
Любая помощь будет оценена..
2 ответа
Хорошо, вот как я решил это сейчас:
var childNodes:XMLList = new XMLList(data.descendants("item").(@display == 'false'));
for ( var i:int = childNodes.length() - 1; i >= 0; i-- ) {
delete childNodes[i];
}
Я думаю, что это происходит из-за формата этого XML.
Все элементы элемента в папке folder1 являются дочерними узлами folder1. Поскольку он имеет display="true", тогда в трассировке будут отображаться все его дочерние элементы.
Кто-нибудь еще, правильно ли отформатирован этот XML для поиска?