Подстановочный знак для строк в E4X? - PullRequest
0 голосов
/ 30 января 2011

Я пытаюсь решить проблему Actionscript, используя E4X. У меня есть такой 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 (), которая принимает три параметра (имя, фамилия, возраст) и возвращает XMLList. Таким образом, результат может выглядеть следующим образом:

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

Но я не хочу использовать все три параметра все время. Я хотел бы иметь функцию, которая использует 'wilcard', если параметр NULL. Поэтому, если подстановочный знак будет «*», функция может выглядеть следующим образом:

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

чтобы я мог передать «Джон» только для первого Имени, которое я получу взамен первого и третьего узла.

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 31 января 2011

Хорошо. Я мог бы проверить все атрибуты. Но у меня осталось бы 7 разных вариантов:

  • Имя * * 1004
  • secondName
  • возраст
  • firstName && secondName
  • firstName && age
  • lastName && age
  • firstName && secondName && age

Я бы предпочел однострочник, поэтому я ищу что-то вроде группового символа.

0 голосов
/ 30 января 2011

Логическое значение attribute("your-attribute") будет указывать, присутствует ли определенный атрибут.

...