2011-01-29 83 views
0

我想解决使用E4X的Actionscript问题。 我有这样一个的XML:字符串在E4X中的通配符?

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

我想只有一个功能搜索(),它的三个参数(名字,姓氏,年龄),并返回一个XMLList。所以结果可能是这样的:

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

但我不想一直使用所有三个参数。如果参数为NULL,我想要一个使用'wilcard'的函数。因此,如果通配符是“*”的功能看起来是这样:

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

,这样我就只能通过“约翰”与firstName我拿到第一,作为回报,第三个节点。

如何做?

回答

0

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

0

好的。我可以检查所有属性。但是,我将留下7点不同的选择:

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

我宁愿一个班轮,这就是为什么我在寻找类似的通配符。