Thanks to the help I receive earlier, I'm making some progress with my code to generate an xml file based on records found in my database, but I'm stuck again:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 41: root.AppendChild(mainNode);
here's my new code:
Thanks in advance!Code:<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Xml" %> <script runat="server"> protected void Page_Load (object sender, EventArgs e) { XmlDocument xmlDoc = new XmlDocument(); XmlNode xn=xmlDoc.CreateElement("event"); xmlDoc.AppendChild(xn); using (SqlConnection conn = new SqlConnection(@"Data Source=mssql;Initial Catalog=xxxxx;User Id=xxxxx;Password=xxxxx;")) { conn.Open(); SqlCommand cmd = new SqlCommand("select NewsNo, NewsEventDate, EventStartTime, EventEndTime, NewsHeadline, NewsDetails, NewsCategory from DailyNews where NewsCategory = 'event'", conn); XmlNode root= xmlDoc.SelectSingleNode("/events"); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.HasRows) { while (sdr.Read()) { XmlElement mainNode = xmlDoc.CreateElement("event"); XmlElement idNode= xmlDoc.CreateElement("NewsNo"); XmlElement eventDateNode= xmlDoc.CreateElement("NewsEventDate"); XmlElement startTimeNode= xmlDoc.CreateElement("EventStartTime"); XmlElement endTimeNode= xmlDoc.CreateElement("EventEndTime"); XmlElement eventNameNode= xmlDoc.CreateElement("NewsHeadline"); XmlElement eventDetailsNode= xmlDoc.CreateElement("NewsDetails"); idNode.InnerText = sdr.GetInt32(0).ToString(); eventDateNode.InnerText = sdr.GetDateTime(1).ToString(); startTimeNode.InnerText = sdr.GetString(2); endTimeNode.InnerText = sdr.GetString(3); eventNameNode.InnerText = sdr.GetString(4); eventDetailsNode.InnerText = sdr.GetString(5); mainNode.AppendChild(idNode); mainNode.AppendChild(eventDateNode); mainNode.AppendChild(startTimeNode); mainNode.AppendChild(endTimeNode); mainNode.AppendChild(eventNameNode); mainNode.AppendChild(eventDetailsNode); root.AppendChild(mainNode); } } xmlDoc.Save("events.xml"); } }


Reply With Quote


Bookmarks