Solved

Loop through xml elements

Posted on 2010-11-08
4
1,598 Views
Last Modified: 2012-05-10
My xml is below.  I want to loop through my xml and create a new map element based on the values in that RetailTowns node


For Each XElement In myXML.Elements
            Dim retailPushpin As New Pushpin
            retailPushpin.Name = myXML.Elements("Town").Value
            retailPushpin.Location = New Location(myXML.Elements("Longitude").Value, myXML.Elements("Latitude").Value)
            retailPushpin.Content = myXML.Elements("Town").Value
            retailPushpin.Visibility = Visibility.Visible

            retailTowns.Children.Add(retailPushpin)
        Next

Open in new window

RetailTowns.xml
0
Comment
Question by:DotNetNooby
  • 2
  • 2
4 Comments
 
LVL 3

Accepted Solution

by:
kolakanuru1 earned 500 total points
ID: 34087989
       For Each XElement As XmlElement In myXML.GetElementsByTagName("RetailTowns Query")
            Dim Town As String = XElement.SelectSingleNode("Town").InnerText
            Dim Longitude As String = XElement.SelectSingleNode("Longitude").InnerText
        Next
0
 

Author Comment

by:DotNetNooby
ID: 34088049
I'm not able to access the As XML Element or myXML.GetElementsByTagName
    Sub LoadRetailTowns()
        Dim client As WebClient = New WebClient()
        AddHandler client.OpenReadCompleted, AddressOf OpenReadCallback
        Dim uri As Uri = New Uri("RetailTowns.XML", UriKind.Relative)
        client.OpenReadAsync(uri)
    End Sub
    Sub OpenReadCallback(ByVal sender As Object, ByVal e As OpenReadCompletedEventArgs)
        Dim myXML As XElement = XElement.Load(XmlReader.Create(e.Result))

        For Each XElement In myXML.Elements
            Dim retailPushpin As New Pushpin
            retailPushpin.Name = myXML.Elements("Town").Value
            retailPushpin.Location = New Location(myXML.Elements("Longitude").Value, myXML.Elements("Latitude").Value)
            retailPushpin.Content = myXML.Elements("Town").Value
        Next

    End Sub

Open in new window

0
 
LVL 3

Assisted Solution

by:kolakanuru1
kolakanuru1 earned 500 total points
ID: 34088122
       Dim myXML As XmlDocument = New XmlDocument()
        myXML.Load(FileName)
        For Each XElement As XmlElement In myXML.GetElementsByTagName("RetailTowns Query")
            Dim Town As String = XElement.SelectSingleNode("Town").InnerText
            Dim Longitude As String = XElement.SelectSingleNode("Longitude").InnerText
        Next



Replace the filename with filepath of the xmldocument. This is working fine in my test.
0
 

Author Closing Comment

by:DotNetNooby
ID: 34103234
solved
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For a while now I'v been searching for a circular progress control, much like the one you get when first starting your Silverlight application. I found a couple that were written in WPF and there were a few written in Silverlight, but all appeared o…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question