Я работаю над проектом, который вызывает и отыскивает XML-лист, который выглядит следующим образом:AS3 вызывает узел xml в строке переменной, что здесь происходит?
<Searchtext Wordlookup="john smith">
<location>$1</location>
<Name>john smith</Name>
</Searchtext>
и так будет продолжаться в течение приблизительно 100+ человек.
Теперь моя вспышка берет эти данные и позволяет пользователю либо щелкнуть по текстовому полю (чей e.target.data.text сопоставляется с xml с помощью @Wordlookup), либо ввести имя человека (снова сопоставляя содержимое текстового поля с @Wordlookup), что приводит к тому, что местоположение этого человека загорается (для MC названы те же, что и для узла местоположения). Этот конец отлично работает с использованием этого кода:
var result:String = xmldata.Searchtext.(@Wordlookup == inputTxt.text.toLowerCase()).location.toString();
Теперь я хочу сделать обратное; щелкните по местоположению, и код будет соответствовать имени мувиклипа для местоположения в моем xml и закроет это местоположение и выведет имя человека в текстовое поле. Только проблема в этой Flash, по-видимому, считает, что узел в моем xml теперь является неопределенной. Я посмотрел высоким и низким для решения, но я просто не могу показаться, чтобы решить эту проблему (это, вероятно, просто, и я FACEPALM самого) Индуцирующего код ошибки это:
var resultz:String = xmldata.Searchtext.(location.text() == inputTxt2.text()).Name.toString();
И полученная ошибка: ReferenceError: Ошибка # 1065: Местоположение переменной не определено.
EDIT: У меня первоначально был inputTxt2.text как e.target.name, но я сейчас бросаю его в текстовое поле, чтобы увидеть, что он выводит что-то, что будет соответствовать моим узлам местоположения.
Не уверен, почему именно это происходит, заблаговременно за любую помощь!
ДРУГОЙ РЕДАКТИРОВАНИЕ: Так что добавление. *. :
var resultz:String = xmldata.*.Searchtext.(location.text() == inputTxt2.text()).Name.toString();
не удалось создать узел в качестве переменной, но он по-прежнему возвращает значение null. Есть ли лучший способ вернуть имя из соответствующего местоположения? Кажется, что это просто не признает, что имя MC соответствует узлам в XML ....
Это сработает, но я не хочу писать код для каждого из 100+ люди. Я пытаюсь получить его, чтобы он считывал вывод (в данном случае данные inputTxt2) и сопоставлял его с тем, что находится в xml. Спасибо хоть! –
затем замените «$ 1» на inputTxt2.text и оставьте значение(), поскольку текст является свойством, а не методом. –
Я тоже это сделал, и я до сих пор, к сожалению, получил ошибку. Вот почему я очень любопытный, кажется, он должен работать, но просто нет. –