2013-04-13 5 views
1

Dans le cadre d'un projet sur lequel je travaille, j'essaie de charger cette page XML (http://weather.yahooapis.com/forecastrss?w=2459115) dans mon application Windows Phone 8 et de sauvegarder le nombre de valeurs en tant que variables. J'utilise Visual Studio 2012 professional et VB.net. Jusqu'ici j'ai cherché et essayé un certain nombre de manières juste essayant d'enregistrer une variable pour commencer mais je suis incapable de l'obtenir pour lire.Windows Phone 8: Lecture XML à partir du Web

ce que j'ai jusqu'à présent

Partial Public Class MainPage 
Inherits PhoneApplicationPage 
Private XMLHANDLE As WebClient 

Dim lang As String 

Public Sub New() 
    InitializeComponent() 

    SupportedOrientations = SupportedPageOrientation.Portrait Or SupportedPageOrientation.Landscape 


    Dim XML As String = "http://weather.yahooapis.com/forecastrss?w=2459115" 
    XMLHANDLE = New WebClient() 
    XMLHANDLE.DownloadStringAsync(New Uri(XML)) 

    AddHandler XMLHANDLE.DownloadStringCompleted, AddressOf XMLHANDLE_DownloadStringCompleted 
    AddHandler XMLHANDLE.DownloadProgressChanged, AddressOf XMLHANDLE_DownloadProgressChanged 
End Sub 


Private Sub XMLHANDLE_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) 

End Sub 


Private Sub XMLHANDLE_DownloadStringCompleted(sender As Object, e As DownloadStringCompletedEventArgs) 
    If e.[Error] Is Nothing AndAlso Not e.Cancelled Then 
     Dim resultElements As XElement = XElement.Parse(e.Result) 


     lang = resultElements.Element("language").Value 
     Console.WriteLine(lang) 
    End If 

End Sub 

Mon code conserve Trouver une exception valeur nulle sur cette ligne

lang = resultElements.Element("language").Value 

Répondre

1

Element ne regarde que sur les enfants directs de l'élément en cours, de sorte que vous pouvez » t obtenir language élément aussi simple.

Essayez que:

lang = resultElements.Element("channel").Element("language").Value 

Ou en utilisant la méthode Descendants:

lang = resultElements.Descendants("language").First().Value 
+0

Merci! Je ne savais pas que, juste obtenir ma tête autour de XML merci pour une réponse rapide, ne me laissera pas marquer comme réponse encore mais mal le faire dès qu'il me le permet! –

+0

Juste une autre question dit que je voulais obtenir la valeur de la propriété de la ville de ce comment je vais y aller? –

Questions connexes