2011-01-29 80 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 & &年齡

我寧願一個班輪,這就是爲什麼我在尋找類似的通配符。