Hello all,

Okay, I've been beating my head for a couple of days over this one and I'm running out of time. I'm writing an app that reads an XML file, then uses the data in the XML file as variable values. Here's a sample XML file:


So, I need the application to read this XML file and the populate those element values as string variables in the application. USing XmlDocument, I load it into my application:

string loadx = (Globalvar.Drv + "\\bin\\Mig\\xml\\test.xml");

XmlDocument xpmt = new XmlDocument();

Then I loop through the XML to read the elements and store the values in the appropriate variables:

foreach (XmlNode xnode in xpmt.SelectNodes("Test"))
          Globalvar.turn = (xnode.SelectSingleNode("turn").InnerText);
          Globalvar.date = Convert.ToDateTime(xnode.SelectSingleNode("date").InnerText);
          Globalvar.beer = (xnode.SelectSingleNode("beer").InnerText);
          Globalvar.loop = Convert.ToInt16(xnode.SelectSingleNode("loop").Value);
          Globalvar.work = (xnode.SelectSingleNode("work").InnerText);
          Globalvar.next = (xnode.SelectSingleNode("next").InnerText);

Note: Globalvar is my global variable class.

I have the code loaded in private void Mtool_Load(object sender, EventArgs e) so that the XML is read at the start of the application.

To test that the variables are being populated from the xml data, I have test code to write those variables on a form label like this:

label8.Text = Globalvar.beer;

The output is just a blank label, AND, the date and integer variables throw and error in the label code:

label2.Text = Convert.ToDateTime(Globalvar.date);
label17.Text = Globalvar.loop;

I'm using Visual Studio 2010 and its a .NET 2.0 framework, and I do have using System.Xml; in there.

I'm new at coding, but this feels like the problem is smacking me in the face, yet I cant see it. Any help would be greatly appreciated.


4 Years
Discussion Span
Last Post by Hendo

Ok...I went to XmlTextReader to do the job, and that works. Thanks for your time, Momerath! I do appreciate it.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.