Обновление списка - PullRequest
       1

Обновление списка

3 голосов
/ 23 марта 2011

В настоящее время у меня есть список, который подается XML-файлом. Я использую веб-клиент для захвата XML, а затем использую следующий код для анализа его в списке;

 XElement xmlSearch = XElement.Parse(e.Result);                    
        lstbSearch.ItemsSource = from Search in xmlSearch.Descendants("e2event")
                                 select new GetSearch
                                 {
                                     e2eventtitle = Search.Element("e2eventtitle").Value,
                                     e2eventid = Search.Element("e2eventid").Value
                                 };

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

Большое спасибо, Nathan

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

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

2 голосов
/ 24 марта 2011

В дополнение к ответу @ harryover, использование WebClient или HTTPWebRequest не позволит вам выполнить постепенный рендеринг:

  • Для эффективной загрузки данных, мы надеемся, что уровень HTTP будет использовать ZIP-кодировкуи частичные zip-файлы не могут быть распакованы
  • Кроме того, парсеры XML очень плохо работают с частичными документами (им нужны открывающие и закрывающие теги)

Лучший способ сделать то, чтоВозможно, вам нужно разделить ваши данные на отдельные HTTP-запросы - сделать множество небольших запросов вместо одного большого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...