2011-11-24 2 views
2

Я загружаю XML-файл с сайта, который я создал, и он отлично работает на эмуляторе; однако он не работает вообще на телефоне. Он возвращается с ошибкой веб-исключения и ошибкой ввода-вывода ... и свойство ошибки из события HttpsCompleted говорит об ошибке, по которой удаленный сервер возвратил ошибку. Файл не найден. НО это работает на моем эмуляторе.XML Загрузка работает в эмуляторе, но не по телефону

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 

     WebClient wc = new WebClient(); 
     wc.DownloadStringCompleted += HttpsCompleted; 
     wc.DownloadStringAsync(new Uri("http://.../SessionInfo.xml")); 

    } 

    private void HttpsCompleted(object sender, DownloadStringCompletedEventArgs e) 
    { 
     XDocument doc = null; 
     string results = null; 

     if (e.Error == null) 
     { 
      XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None); 
      List<XElement> xelem = xdoc.Root.Elements() as List<XElement>; 

      results = e.Result; 

      var sessions = from x in xdoc.Descendants("Session") 
          select new 
          { 
           ID = x.Descendants("ID").First().Value, 
           TITLE = x.Descendants("Title").First().Value, 
           TIME = x.Descendants("Time").First().Value, 
           DESCRIPTION = x.Descendants("Description").First().Value 
          }; 

      foreach (var wd in sessions) 
      { 
       sessionsList.Add(new Session(wd.ID, wd.TITLE, wd.TIME, wd.DESCRIPTION)); 
       Debug.WriteLine("Session ID is {0}, Title is {1}, Time is {2}", wd.ID, wd.TITLE, wd.TIME); 
      } 
     } 

     SessionInfoList.ItemsSource = sessionsList; 

XML выглядит следующим образом:

<request><Session><ID>1234-1234-1234-1234</ID><Title>Session Title</Title><Time>10:00AM-11:30AM</Time><Description>Some description.</Description></Session></request> 
+2

Возможно, это глупый вопрос; но может ли ваш телефон получить доступ к файлу из встроенного веб-браузера? – Kolky

+0

@ Kolky yea Я пробовал и xml подходит в браузере – jharr100

+0

можно ли маршрутизировать фактическое устройство через скрипач на вашем ПК? (вы можете с некоторыми устройствами). Например, например [пример iPhone] (http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html)? Мне было бы интересно узнать, правильный ли телефон, и это был файл не найден. –

ответ

0

Во-первых, код, как это должно быть запрещено, так как вы рискуете NullReferenceException:

TITLE = x.Descendants("Title").First().Value 

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

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