Частично загруженный XML во Flash - PullRequest
0 голосов
/ 02 февраля 2009

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

  1. Получаете ли вы событие , которое запускается каждый раз при загрузке небольших объемов данных? как с URLLoader?
  2. Получаете ли вы доступ к необработанной строке , поскольку частичный XML не может быть проанализирован?

Ответы [ 3 ]

2 голосов
/ 02 февраля 2009

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

1 голос
/ 17 февраля 2009

Вы можете использовать объект URLStream для загрузки данных из URL и чтения их во время загрузки.

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLStream.html

Однако вам придется использовать какой-то специальный анализатор SAX / Event-based, поскольку нативный объект XML не будет работать с «частичной» строкой XML.

0 голосов
/ 02 февраля 2009

Из справочника по языку Adobe Flex:

Обратите внимание, что с объектом URLLoader невозможно получить доступ к данным, пока они не будут получены полностью.

Итак, ответ на вопрос 1. Нет, вы не можете получить доступ к данным, которые были загружены только частично.

Что касается 2, URLLoader не выполняет никакой формы анализа загруженных данных, вы получаете доступ к необработанным байтам через атрибут данных экземпляра загрузчика. Если вы знаете его XML, вы можете превратить его в структуру XML с явным вызовом new XML(loader.data).

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

...