Thread: Reading XML
View Single Post
  #1 (permalink)  
Old July 25th, 2006, 10:33 AM
evidica evidica is offline
Registered User
 
Join Date: May 2005
Location: , , .
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Default Reading XML

I am trying to read in the following XML:

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <weather>
  <timestamp zone="GMT">07/25/2006 11:27</timestamp> 
- <forecast>
  <citycode>CFV</citycode> 
- <day>
  <name>Tuesday</name> 
  <icon>02</icon> 
  <high unit="F">96</high> 
  <low unit="F">76</low> 
  <phrase>Mostly sunny</phrase> 
  </day>
- <day>
  <name>Wednesday</name> 
  <icon>03</icon> 
  <high unit="F">97</high> 
  <low unit="F">76</low> 
  <phrase>Partly sunny and hot</phrase> 
  </day>
- <day>
  <name>Thursday</name> 
  <icon>03</icon> 
  <high unit="F">94</high> 
  <low unit="F">73</low> 
  <phrase>Some sun</phrase> 
  </day>
- <day>
  <name>Friday</name> 
  <icon>03</icon> 
  <high unit="F">92</high> 
  <low unit="F">73</low> 
  <phrase>Partial sunshine</phrase> 
  </day>
- <day>
  <name>Saturday</name> 
  <icon>03</icon> 
  <high unit="F">93</high> 
  <low unit="F">70</low> 
  <phrase>Partly sunny</phrase> 
  </day>
- <day>
  <name>Sunday</name> 
  <icon>03</icon> 
  <high unit="F">97</high> 
  <low unit="F">71</low> 
  <phrase>Partly sunny</phrase> 
  </day>
- <day>
  <name>Monday</name> 
  <icon>02</icon> 
  <high unit="F">95</high> 
  <low unit="F">74</low> 
  <phrase>Mostly sunny</phrase> 
  </day>
  </forecast>
  <copyright>Copyright AccuWeather, Inc. 2006</copyright> 
  </weather>
I am able to get city code and then enter the child nodes. My problem arises that I cannot add the data to the database until I get the name field in as well. How would I pull the name text before I enter my loop? Here is what I have:

Code:
string xmlgroup = "";
                string locationID = "";
                string dayName = "";
                //Loop through all of the communities

                foreach (XmlNode node in SevenDay)
                {

                    if (node.ChildNodes.Count > 0)
                    {
                        XmlNodeList childnodes = node.ChildNodes;

                        foreach (XmlNode node2 in childnodes)
                        {

                            if (node2.ChildNodes.Count > 0)
                            {
                                //Set the child node list
                                XmlNodeList daychildnodes = node2.ChildNodes;

                                //Save all data to the databas

                                    locationID= node2.FirstChild.InnerText;
                                    Console.WriteLine("LocationID: "+locationID);

//I NEED TO GET THE dayname variable assigned here from the name field.
                            InjectSevenToDatabase(0, locationID, null, null, dayname);
                                foreach (XmlNode chNode in daychildnodes)
                                {
                                    InjectSevenToDatabase(1, locationID, chNode.Name, chNode.InnerText, dayname);
                                }
                            }
                        }
                    }
                }
Reply With Quote