2009-07-31 8 views
0

Ich brauche eine Zeichenfolge für den Zugriff auf Knoten und Attribute in XML mit E4X. Ideal wäre es, dieses Szenario zu haben (mit XML bereits geladen):Verwenden Sie einen String als E4X-Ausdruck in AS3?

var myXML:XML = e.target.data; 

var myStr:String = "appContent.bodyText.(@name == 'My Text')"; 

myXML.myStr = "New Value for bodyText node where attribute('name') is equal to 'My Text'"; 

ich schließlich neue Werte in ein XML-Dokument mit Strings als E4X Ausdrücke festlegen müssen.

+0

Wer hat das funktioniert? – Shawn

+0

Ich habe es nicht funktioniert, aber ... Ich habe einen Workaround gefunden. nehmen Sie die Zeichenfolge des E4X-Pfads, auf den Sie zielen möchten. Während Sie das XML analysieren, ziehen Sie den E4X-Pfad und vergleichen Sie ihn mit Ihrem Zielpfad. Wenn die beiden gleich sind, mach was du willst mit diesem Knoten/Attribut. Es ist ein Hack, aber es funktioniert. Sie könnten sogar das XML analysieren und ein Array mit der Zielzeichenfolge und dem Zielknoten füllen, dann könnten Sie einfach über ein Element im Array darauf zugreifen. Dies ist in vielerlei Hinsicht erweiterbar. Solange alles für eine ordnungsgemäße Müllabfuhr eingerichtet ist, wird alles in Ordnung sein. Ich benutze es nur in einem Entwicklungstool. :-) –

Antwort

0

Wie oben erwähnt:

ich eine Abhilfe

  • die Zeichenfolge des E4X Pfad

  • die E4X Weg Ziehen ausrichten möchten Nehmen Sie herausgefunden und vergleichen es zu Ihrem Zielpfad

  • Wenn die beiden gleich sind, tun, was Sie werden mit diesem Knoten/Attribut

Es ist ein Hack, aber es funktioniert. Sie könnten sogar das XML analysieren und ein Array mit der Zielzeichenfolge und dem Zielknoten füllen, dann könnten Sie einfach über ein Element im Array darauf zugreifen. Dies ist in vielerlei Hinsicht erweiterbar. Solange alles für eine ordnungsgemäße Müllabfuhr eingerichtet ist, wird alles in Ordnung sein.

Verwandte Themen