We help IT Professionals succeed at work.

VB.NET routines to parse XML data from NOAA

762 Views
Last Modified: 2013-12-12
Can someone please tell me how I can parse this data. I need to save it to a database but I just need the values but I am having difficulty. I am doing this in VB.NET and I need to be able to parse it through VB.NET.  I have attached the XML file I need to parse....

PLEASE HELP ME!!!
Weather.xml
Comment
Watch Question

Which version of .Net are you using?  The best approach for parsing XML is different depending on what features you have available to you.
Fernando SotoRetired
CERTIFIED EXPERT
Distinguished Expert 2017

Commented:
Hi jknj72;

Exactly which nodes and values do you wish to parse from the XML document you have uploaded? Please be specific, thank you.
You can use a dataset and its readxml method
Dim ds As New DataSet
ds.ReadXml

the dataset will create tables that you can review to determine the column names/indices that you need to grab.

There are going to be lots of different ways to consume XML so the best choice will be highly dependent on your scenario.

Author

Commented:
I am using VB.NET 2010

I am looking to get pretty much everything below the </head> but I really dont need the location since I have those values saved.
What I REALLY need is the time-layouts with the applicable key values and descriptions and ALL the parameter values.
If you have ANY other questions I will keep checking in and I will answer anything you need(if I can of course) ;)

THANK YOU SO MUCH FOR YOUR HELP!!!

Author

Commented:
fyi, I am doing this in a VB.NET Console app to be scheduled to run periodically throughout the day

Author

Commented:
Any thoughts???
Something like this would work:

XmlDocument xmlDoc= new XmlDocument();
xmlDoc.Load("Weather.xml");
XmlNodeList timeLayouts = xmlDoc.GetElementsByTagName("time-layout");
Sorry, I just realized that you are using VB, but your code should be very similar with some minor syntax differences.  The Class names will be the exact same.    

The XmlNodeList above is a list of XmlNodes.  Each XmlNode has a Name property that tells you which element it is. There is an Attributes property that contains zero or more XmlAttribute object.  Each XmlAttribute object has a name and a value.  The XmlNode object also has the ChildNodes property which contains the children which are also XmlNode objects.  

This approach is very solid although it does require coding to match the document.  As previously mentioned there are many different ways to do this depending on your situation but this is one tried-and-true way to do it.      

In my experience, the easiest way to code this approach is to have a separate method for each element name.  The method would accept an XmlNode object.  Each method would have 2 Select Case statements:  one inside an attribute loop and another inside a child node loop.  Inside the child node loop the select case would call the appropriate method based on the node name, passing in the current XmlNode object.

If you try this and run into trouble, just post back with the specific problem you are having.
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
thanks

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.