asp.net 向xml 写入数据的几种方式

<?xml version="1.0" encoding="utf-8"?>
<MyCalendar>
  
<Event>
    
<ShortDesc>生日快乐</ShortDesc>
    
<DetailDesc>今天是我的生日今天是我的生日今天是我的生日今天是我的生日今天是我的生日</DetailDesc>
    
<EventDate>2007-02-25</EventDate>
    
<StartTime>00:00</StartTime>
    
<EndTime>24:00</EndTime>
  
</Event>
  
<Event>
    
<ShortDesc>第一金</ShortDesc>
    
<DetailDesc>雅典奥运会</DetailDesc>
    
<EventDate>2007-02-26</EventDate>
    
<StartTime>16:00</StartTime>
    
<EndTime>17:00</EndTime>
  
</Event>

</MyCalendar>



//第一种添加方法
   string sEvent = "<Event>";
   sEvent 
+= "<ShortDesc>" + this.txt_Event.Text + "</ShortDesc>";
   sEvent 
+= "<DetailDesc>" + this.txt_Discript.Text + "</DetailDesc>";
   sEvent 
+= "<EventDate>" + this.txt_Time.Text + "</EventDate>";
   sEvent 
+= "<StartTime>" + this.txt_startTime.Text + "</StartTime>";
   sEvent 
+= "<EndTime>" + this.txt_endTIme.Text + "</EndTime>";
   sEvent 
+="</Event>";

   XmlDocument xmlDoc 
= new XmlDocument();

   xmlDoc.Load(Server.MapPath(
"MyCalendar.xml"));

   XmlDocumentFragment docFrag 
= xmlDoc.CreateDocumentFragment();
   docFrag.InnerXml 
= sEvent;

   xmlDoc.DocumentElement.InsertAfter(docFrag,xmlDoc.DocumentElement.LastChild);

   xmlDoc.Save(Server.MapPath(
"MyCalendar.xml"));



//第二种添加方法
   XmlDocument xmlDoc = new XmlDocument();
   xmlDoc.Load(Server.MapPath(
"MyCalendar.xml"));

   XmlNode root 
= xmlDoc.SelectSingleNode("MyCalendar");

   XmlElement child 
= xmlDoc.CreateElement("Event");

   XmlElement ShortDesc 
= xmlDoc.CreateElement("ShortDesc");
   ShortDesc.InnerText 
= this.txt_Event.Text;
   XmlElement DetailDesc 
= xmlDoc.CreateElement("DetailDesc");
   DetailDesc.InnerText 
= this.txt_Discript.Text;
   XmlElement EventDate 
= xmlDoc.CreateElement("EventDate");
   EventDate.InnerText 
= this.txt_Time.Text;
   XmlElement StartTime 
= xmlDoc.CreateElement("StartTime");
   StartTime.InnerText 
= this.txt_startTime.Text;
   XmlElement EndTime 
= xmlDoc.CreateElement("EndTime");
   EndTime.InnerText 
= this.txt_endTIme.Text;

   child.AppendChild(ShortDesc);
   child.AppendChild(DetailDesc);
   child.AppendChild(EventDate);
   child.AppendChild(StartTime);
   child.AppendChild(EndTime);

   root.AppendChild(child);

   xmlDoc.Save(Server.MapPath(
"MyCalendar.xml"));



//第三种添加方法

private void btn_submit_Click(object sender, System.EventArgs e)
  
{
   
//文件路径
   string strFilePath = Server.MapPath("xml/liuyan.xml");   
   FileStream fs 
= new FileStream(strFilePath,System.IO.FileMode.Open,System.IO.FileAccess.Read);

   DataSet ds
=new DataSet();
   
//ds.ReadXml(fs);
   
//读取xml schema
   ds.ReadXml(fs);

   fs.Close();

            DataRow newRow 
= ds.Tables[0].NewRow();
   newRow[
"name"= this.txt_name.Text;
   newRow[
"mail"= this.txt_mail.Text;
   newRow[
"qq"= this.txt_qq.Text;
   newRow[
"address"= this.txt_address.Text;
   newRow[
"content"= this.txt_content.Text;

   ds.Tables[
0].Rows.Add(newRow);

   FileStream fin 
= new FileStream(strFilePath,FileMode.Open,FileAccess.Write,FileShare.ReadWrite);

   ds.WriteXml(fin);
   fin.Close();
   
//寫入成功
   
//Response.Write("寫入成功");
   Response.Redirect("viewxml.aspx");

  }

posted @ 2007-09-13 15:47  宿远  阅读(273)  评论(0)    收藏  举报