Могу ли я получить Actionscript3 для ввода приведенных чисел и целых чисел в файлах XML в виде чисел и целых чисел? - PullRequest
0 голосов
/ 28 августа 2009

Сейчас все выглядит как строка, и это как бы разрушает весь xml как внутреннюю структуру данных, мне не нужно большое дерево строк, мне нужны типизированные данные: - / Могу ли я внести какие-либо изменения в или мои XML-файлы или мой код AS3, который заставит его преобразовывать целые числа как целые, а числа как числа? Или, может быть, какую-то схему типов я могу навязать?

До недавнего времени не совсем работал с XML, так что, скорее всего, я просто не осведомлен о каноническом способе справиться с этим ... просветление, пожалуйста, гуру!

Спасибо:)

Роджер.

Ответы [ 4 ]

2 голосов
/ 28 августа 2009

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

Вместо того, чтобы хранить свои внутренние данные в структуре XML, вам будет лучше разработать отдельный класс для хранения ваших данных, а затем просто импортировать и экспортировать данные в XML. Если ваши входные файлы сложны и / или часто меняются, то Flex Builder, вероятно, является лучшим решением, поскольку в него встроена поддержка схем WSDL и XMl.

1 голос
/ 28 августа 2009

Один из простых способов сделать это - импортировать WSDL из вашего веб-сервиса, если вы так извлекаете XML. Flex Builder не только сгенерирует классы для вас, но и ответ веб-службы будет строго напечатан.

0 голосов
/ 31 августа 2009

Этот фантастический маленький класс делает именно то, что вы хотите, предполагая, что вы используете VO для хранения проанализированных данных (более или менее «канонический» подход, о котором вы спрашивали).

http://dispatchevent.org/roger/instant-model-binding-with-reflection/

В целом, на этом же сайте очень подробно обсуждаются AS3 и E4X:

http://dispatchevent.org/roger/as3-e4x-rundown/

От всего сердца рекомендую.

0 голосов
/ 28 августа 2009

Вы пробовали использовать JSON? Вы можете получить десериализатор в проекте as3corelib в Google Code.

http://code.google.com/p/as3corelib/

...