Использовать строку в качестве выражения E4X в AS3? - PullRequest
0 голосов
/ 31 июля 2009

Мне нужно использовать строку для доступа к узлам и атрибутам в XML с помощью E4X. Было бы идеально иметь такой сценарий (с уже загруженным XML):

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'";

В конечном итоге мне нужно установить новые значения для документа XML, используя строки в качестве выражений E4X.

1 Ответ

0 голосов
/ 01 ноября 2014

Как отмечено выше:

Я нашел обходной путь

  • Возьмите строку пути E4X, на которую вы хотите нацелиться

  • Потяните путь E4X и сравните его с вашим целевым путем

  • Если они равны, делайте что хотите с этим узлом / атрибутом

Это хак, но это работает. Вы можете даже проанализировать XML и заполнить массив целевой строкой и целевым узлом, а затем просто получить к нему доступ через элемент массива. Это расширяется во многих отношениях. Пока все настроено для правильной сборки мусора, все будет в порядке.

...