E4X中字符串的通配符?

时间:2011-01-29 21:14:18

标签: actionscript wildcard e4x

我正在尝试使用E4X解决Actionscript问题。 我有一个像这样的XML:

<root>
  <person firstname="john" lastname="doe" age="21" />
  <person firstname="jayne" lastname="doe" age="35" />
  <person firstname="john" lastname="miller" age="42" />
</root>

我想只有一个函数search(),它接受三个参数(firstname,lastname,age)并返回一个XMLList。结果可能如下所示:

var result:XMLList = xml..person.(@firstname == firstName && @lastname == lastName && @age == age );

但我不想一直使用所有三个参数。如果参数为NULL,我想有一个使用'wilcard'的函数。因此,如果通配符为“*”,则该函数可能如下所示:

searchPerson( firstName:String ="*", lastName:String = "*" , age:String = "*") {...}

所以我只会传递'John'作为firstName我会得到第一个和第三个节点。

怎么做?

2 个答案:

答案 0 :(得分:0)

attribute("your-attribute")的布尔值将指示是否存在特定属性。

答案 1 :(得分:0)

确定。我可以查看所有属性。但我会留下7种不同的选择:

  • 的firstName
  • secondName
  • 年龄
  • firstName&amp;&amp; secondName
  • firstName&amp;&amp;年龄
  • lastName&amp;&amp;年龄
  • firstName&amp;&amp; secondName&amp;&amp;年龄

我更喜欢单行,这就是为什么我在寻找像通配符这样的东西。