ASP.NET寫xml文檔

private void WriteXML()
        
{
            
string sConn = "user=sa;password=*;Data Source=*;Initial Catalog = *;Connection Timeout=60;";
            
string sql = "select * from Table1";
            SqlConnection oConn 
= new SqlConnection(sConn);
            SqlCommand oCmd 
= oConn.CreateCommand();
            oCmd.CommandText 
= sql;
            DataSet ds 
= new DataSet();
            SqlDataAdapter da 
= new SqlDataAdapter();
            da.SelectCommand 
= oCmd;
            
try
            
{
                oConn.Open();
                da.Fill(ds);
//                int i = 1;

                XmlDocument doc 
= new XmlDocument();
                XmlTextReader reader 
= new XmlTextReader(Server.MapPath("."+ "\\XML\\org.xml");
                doc.Load(reader);

                XmlElement message;   
//定義一個節點變量
                XmlAttribute abute;
                XmlNode root 
= doc.DocumentElement;
                
string filename = "orgnv";

                
foreach(DataRow dr in ds.Tables[0].Rows)
                
{

                    
//設置一層節點
                    message = doc.CreateElement("menu");
                    root.AppendChild(message);

                    abute 
= doc.CreateAttribute("text");
                    abute.Value 
= dr[1].ToString().Trim();
                    message.Attributes.SetNamedItem(abute);
                    abute 
= doc.CreateAttribute("id");
                    abute.Value 
= dr[0].ToString().Trim();
                    message.Attributes.SetNamedItem(abute);
                    abute 
= doc.CreateAttribute("href");
                    abute.Value 
= "javascript:goifram('DeptMember.aspx?deptno="+dr[0].ToString().Trim()+"')";
                    message.Attributes.SetNamedItem(abute);
                }


                XmlTextWriter xmlWriter 
= new XmlTextWriter(Server.MapPath("."+ "\\XML\\" + filename + ".xml",null);
                xmlWriter.Formatting 
= Formatting.Indented;
                
try
                
{
                    doc.Save(xmlWriter);
                    Response.Write(
"恭喜你添加成功,喝杯酒,慶祝!");
                }

                
catch
                
{
                    Response.Write(
"數據庫讀寫錯誤");
                    Response.End();
                    
return;
                }

            }

            
catch
            
{
                
            }

        }
以上只寫了節點的屬性,如果寫節點的内容用一下方法
private void WriteXML2()
        
{
            XmlDocument doc 
= new XmlDocument();
            XmlTextReader reader 
= new XmlTextReader(Server.MapPath("."+ "\\XML\\message.xml");
            doc.Load(reader);

            XmlElement message;   
//定義一個節點變量

            XmlNode root 
= doc.DocumentElement;
            
            Random rnd 
= new Random();

            
string filename = DateTime.Now.Date.Year.ToString()+DateTime.Now.Date.Month.ToString()+DateTime.Now.Date.Day;
            filename 
= filename+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+rnd.Next(100,500).ToString();
            message 
= doc.CreateElement("FileName");
            message.InnerText 
= filename + ".xml";
            root.AppendChild(message);

            
//寫入標題
            message = doc.CreateElement("Title");
            message.InnerText 
= "213";
            root.AppendChild(message);

            message 
= doc.CreateElement("Status");
            message.InnerText 
= "未解決";
            root.AppendChild(message);
            
            
//寫入發帖時間
            message = doc.CreateElement("PostTime");
            message.InnerText 
= "213";
            root.AppendChild(message);
            
            
//內容
            message = doc.CreateElement("Content");
            message.InnerText 
= "213";
            root.AppendChild(message);


                
//作者信息
                XmlElement poster = doc.CreateElement("Poster");
                root.AppendChild(poster);

                message 
= doc.CreateElement("ID");
                message.InnerText 
= "213";
                poster.AppendChild(message);

                message 
= doc.CreateElement("UserName");
                message.InnerText 
= "213";
                poster.AppendChild(message);

                message 
= doc.CreateElement("Email");
                message.InnerText 
= "213";
                poster.AppendChild(message);
            
            
            XmlTextWriter xmlWriter 
= new XmlTextWriter(Server.MapPath("."+ "\\XML\\" + filename + ".xml",null);
            xmlWriter.Formatting 
= Formatting.Indented;
            
try
            
{
                doc.Save(xmlWriter);
                Response.Write(
"恭喜你添加成功,喝杯酒,慶祝!");
            }

            
catch
            
{
                Response.Write(
"數據庫讀寫錯誤");
                Response.End();
                
return;
            }


            xmlWriter.Close();
            reader.Close();
        }
posted @ 2005-12-27 08:58  杰客  阅读(1307)  评论(1)    收藏  举报