2 Stimmen

Zugriff auf E4X-Knoten mit Sonderzeichen im Namen ohne Unterbrechung der Bindungskette in Flex

Ich verwende E4X, um einige Werte aus Xml in Flex 3 zu binden.

Es gibt ein Problem, wenn der Name eines Xml-Tags (oder eines Attributs) ein Sonderzeichen enthält: Der Xml-Inhalt

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

special-name konnte nicht erreicht werden mit xml.special-name.@att weil es als Subtraktion interpretiert wird, andererseits die Notation in eckigen Klammern xml['special-name'].@att unterbricht die Bindungskette.

Gibt es eine elegante Möglichkeit, dieses Problem zu lösen (wie spezielle Sprachsyntax), ohne benutzerdefinierte Bindung Setter und Hörer zu schreiben?

1voto

Baelnorn Punkte 950

Würde die child() Funktion der XML Klasse für Sie in dieser Situation funktionieren? Ich kann es im Moment nicht überprüfen, aber child() gibt eine XMLList und das sollte für die Bindung funktionieren.

Könnten Sie alternativ nicht einfach alle "problematischen" Knotennamen ersetzen (indem Sie die ursprünglichen Namen in einem Wörterbuch speichern, wobei die Ersatznamen die Schlüssel sind) und dann die Bindung vornehmen, um das Problem ganz einfach zu vermeiden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X