Доступ к узлам E4X со специальными символами в имени без разрыва цепочки связывания в flex - PullRequest
2 голосов
/ 16 апреля 2010

Я использую E4X для привязки некоторых значений из xml в flex 3.

Проблема в том, что имя тега (или атрибута) xml содержит специальный символ: содержание xml

var xml:XML = <tag>
    <special-name att="val" />
</tag>

special-name невозможно получить с помощью xml.special-name.@att, потому что оно интерпретируется как вычитание, с другой стороны, с использованием обозначения в квадратных скобках xml['special-name'].@att разрывает связующую цепь.

Существует ли элегантный способ решения этой проблемы (например, синтаксис специального языка) без написания пользовательских установщиков и слушателей привязки?

1 Ответ

1 голос
/ 16 апреля 2010

Будет ли функция child() класса XML работать для вас в такой ситуации? Я не могу проверить это сейчас, но child() возвращает XMLList, и это должно работать для привязки.

В качестве альтернативы, не могли бы вы просто заменить все «проблемные» имена узлов (сохраняя исходные имена в Словаре, где заменяющими именами являются ключи), а затем выполнить связывание, просто избежав проблемы вообще?

...