2013-05-15 4 views
1

Так что я XML файл загружен в моем AS3, который выглядит следующим образом:AS3 удалить узел из файла XML по значению ребенка

<a> 
    <b> 
     <c> 
     value1 
     </c> 
    </b> 
    <b> 
    Value2 
    </b> 
</a> 

Теперь, скажем, я хотел бы, чтобы удалить <c></c> передав ему значение «value1». Используя метод, описанный здесь: AS3 Delete child node from XML by child value, но он применяется только к загруженному xml и фактическому файлу, который я действительно хочу. Поэтому я решил, что должен просто сохранить файл. Но это тоже не сработало, я получил эту ошибку: «save не является признанным методом динамического класса XML». Так что я думаю, что это не работает? И не похоже, что этот метод является оптимальным для того, что я хочу делать. Итак, после более чем четырех часов поиска решения у меня все еще ничего нет. Мой учитель не мог мне даже помочь, поэтому, пожалуйста, не будьте это в курсе, мне действительно нужна помощь. Спасибо.

+1

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html# save() – Kodiak

+0

Ошибка, о которой вы говорите, часто вызвана другими ошибками в коде (см. http://stackoverflow.com/questions/5841957/as3-toxmlstring-and-other-methods-not-recognized). Это случилось со мной раньше, посмотри, есть ли какие-то другие ошибки. – adaam

ответ

0

Вы не указали, используете ли вы обычный Flash или Adobe AIR ... Я собираюсь предположить, что вы используете простой Flash ... И затем я собираюсь предположить, что вы хотите сохранить полученный, измененный XML вернуться в загруженный файл?

Вы должны смотреть на метод FileReference.save()

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#save()

НО .. это будет спрашивать пользователя, где они хотят, чтобы сохранить файл, он обыкновение молча перезаписать файл, который вы открыли вверх первоначально.

И если перезапись исходного файла - это то, что вы пытаетесь сделать, то просто вы не можете. Flash имеет всевозможные ограничения безопасности, которые запрещают вам делать такие вещи.

Если вы однако говорить об Adobe AIR, чем отличается ...

Смежные вопросы