#xml #apache-flex #service
#xml #apache-flex #Обслуживание
Вопрос:
Я использовал инструмент Flash Builder «подключиться к данным / сервису» для подключения к URL-адресу XML, который выглядит примерно так:
<house>
<name>Home</home>
<address_line1>My street</address_line1>
<zip>12345</zip>
<photos>
<photo>/url/to/photo</photo>
<photo>/url/to/another/photo</photo>
</photos>
</house>
Это создало сервис и пакет под названием ValueObjects. В этом пакете ValueObjects есть класс под названием «House», как я и ожидал, и я разработал, как получить к ним доступ и их свойствам.
Чего я не могу понять, так это как работать с классом под названием «Photos». У каждого дома есть свойство «photos» типа Photos, которое, как я ожидаю, будет массивом, но я ни за что на свете не могу понять, как его повторить или посмотреть, что в нем хранится.
Кто-нибудь может помочь, пожалуйста? Надеюсь, я не просто туплю, но я потратил целую вечность, пытаясь понять это для себя…
Комментарии:
1. Возможно, вы хотите опубликовать сгенерированный код.
2. Я надеялся, что это будет что-то очевидное (оказалось, что так и было), и не хотел все портить кучей кода. Я отсортировал это в конце и теперь жду 8 часов, прежде чем смогу ответить на свой собственный вопрос. Короче говоря, в XML-файле в URL-адресе была указана только одна фотография в первом доме, поэтому Flex предположил, что это НЕ массив. Doh.
Ответ №1:
Я полагаю, что Photos
сам должен содержать ArrayCollection
экземпляры Photo
внутри. Будет лучше, если вы разместите здесь список Photos
, чтобы более точно ориентироваться.
Ответ №2:
Doh. Кажется, у меня вошло в привычку отвечать на свои собственные вопросы.
Вот почему это не сработало — в моем XML с первым элементом House была связана только одна фотография. Flash Builder, должно быть, решил, что на самом деле это не массив, просто просматривает первый элемент в XML.
Я добавил еще одну фотографию в дом, удалил папки service и ValueObject и воссоздал их на основе обновленного источника XML.
Мой код теперь работает так, как ожидалось:
Дом.Фото.photo.getItemAt(0)
Вы живете и учитесь. Кажется, o