Flex:即使测试节点不存在,也要过滤XMLListCollection

时间:2011-04-28 21:15:05

标签: flex datagrid filter

我想从数据网格中的xml文件中显示一些数据,所以我这样做:

<mx:AdvancedDataGrid id="dgDomains" dataProvider="{new XMLListCollection(xmlDomains..domain(deleted.toString() != '1'))}"
...

,xml数据如下所示:

  <domains>
    <domain>
      <domainName>AGRICULTURE</domainName>
      <deleted>1</deleted>
    </domain>
    <domain>
      <domainName>IT</domainName>
      <deleted/>
    </domain>
  </domains>

如果“已删除”节点不存在,则过滤器将失败。我收到此错误:未定义变量已删除。

有人可以帮助我改进过滤器,以便在这种情况下它也能正常工作吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

它失败并出现错误,因为过滤器无法应用 delete 中的null / undefined变量, 你可以使用XML的元素函数来处理null / undefined值

xmlDomain..domain.(elements('deleted') != '1')

上述语句还返回未定义删除的所有节点

希望有所帮助