asp.net创建xml文档

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient ;
using System.Xml;
using System.Text ;

namespace dcj
{
 /// <summary>
 /// test 的摘要说明。
 /// </summary>
 public class test : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid MyDataGrid;
  protected System.Web.UI.HtmlControls.HtmlGenericControl Message;
  protected System.Web.UI.WebControls.Button Button1;
 
  SqlConnection myConnection;

  protected void Page_Load(Object Src, EventArgs E)
  {


//
   // Create a new XmlTextWriter instance
   XmlTextWriter writer = new XmlTextWriter(Server.MapPath("userInfo.xml"), Encoding.UTF8);

   // start writing!
   writer.WriteStartDocument();
   
   // root
   writer.WriteStartElement("userInfo");

   // Creating the <browserInfo> element
   writer.WriteStartElement("browserInfo");

   if (Request.UrlReferrer == null)
    writer.WriteElementString("urlReferrer", "none");
   else
    writer.WriteElementString("urlReferrer", Request.UrlReferrer.PathAndQuery);

   writer.WriteElementString("userAgent", Request.UserAgent);
   writer.WriteElementString("userLanguages",  String.Join(", ", Request.UserLanguages));
   writer.WriteEndElement();

   // Creating the <visitInfo> element
   writer.WriteStartElement("visitInfo");
   writer.WriteAttributeString("timeVisited", DateTime.Now.ToString());
   writer.WriteElementString("ip", Request.UserHostAddress);
   writer.WriteElementString("rawUrl", Request.RawUrl);

   //结束  <visitInfo>
   writer.WriteEndElement();

   //结束根
   writer.WriteEndElement();

   //结束文档
   writer.WriteEndDocument();

   writer.Close();
//

   myConnection=new SqlConnection("server=127.0.0.1;uid=sa;password=111111;database=pubs");
   if (!IsPostBack)
    BindGrid();
  }

  public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e)
  {
   Response.Write ("开始编辑");
   MyDataGrid.EditItemIndex = (int)e.Item.ItemIndex;
   BindGrid();
  }

  public void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs e)
  {
   MyDataGrid.EditItemIndex = -1;
   BindGrid();
  }

  public void MyDataGrid_Update(Object sender, DataGridCommandEventArgs e)
  {
   String updateCmd = "UPDATE Authors SET au_lname = @LName, au_fname = @FName, phone = @Phone, "
    + "address = @Address, city = @City, state = @State, zip = @Zip, contract = @Contract where au_id = @Id";

   SqlCommand myCommand = new SqlCommand(updateCmd, myConnection);

   myCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.NVarChar, 11));
   myCommand.Parameters.Add(new SqlParameter("@LName", SqlDbType.NVarChar, 40));
   myCommand.Parameters.Add(new SqlParameter("@FName", SqlDbType.NVarChar, 20));
   myCommand.Parameters.Add(new SqlParameter("@Phone", SqlDbType.NChar, 12));
   myCommand.Parameters.Add(new SqlParameter("@Address", SqlDbType.NVarChar, 40));
   myCommand.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 20));
   myCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.NChar, 2));
   myCommand.Parameters.Add(new SqlParameter("@Zip", SqlDbType.NChar, 5));
   myCommand.Parameters.Add(new SqlParameter("@Contract", SqlDbType.NVarChar,1));

   myCommand.Parameters["@Id"].Value = MyDataGrid.DataKeys[(int)e.Item.ItemIndex];

   String[] cols = {"@Id","@LName","@FName","@Phone","@Address","@City","@State","@Zip","@Contract"};

   int numCols = e.Item.Cells.Count;
   for (int i=2; i<numCols-1; i++) //跳过第一、第二和最后一列
   {
    String colvalue =((TextBox)e.Item.Cells[i].Controls[0]).Text;

    // 检查在所需字段中是否有空值
    if (i<6 && colvalue == "")
    {
     Message.InnerHtml = "错误:“作者 ID”、“姓名”或“电话”不允许使用空值";
     Message.Style["color"] = "red";
     return;
    }

    myCommand.Parameters[cols[i-1]].Value = colvalue;
   }

   //追加最后一行,将 true/false 值转换为 0/1
   if (String.Compare(((TextBox)e.Item.Cells[numCols-1].Controls[0]).Text, "True", true)==0)
    myCommand.Parameters["@Contract"].Value =  "1";
   else
    myCommand.Parameters["@Contract"].Value =  "0";

   myCommand.Connection.Open();

   try
   {
    myCommand.ExecuteNonQuery();
    Message.InnerHtml = "<b>已更新记录</b><br>" + updateCmd;
    MyDataGrid.EditItemIndex = -1;
   }
   catch (SqlException exc)
   {
    if (exc.Number == 2627)
     Message.InnerHtml = "错误:已存在具有相同主键的记录";
    else
     Message.InnerHtml = "错误:未能更新记录,请确保正确填写了字段";
    Message.Style["color"] = "red";
   }

   myCommand.Connection.Close();

   BindGrid();
  }

  public void BindGrid()
  {
   SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);

   DataSet ds = new DataSet();
   myCommand.Fill(ds, "Authors");

   MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;
   MyDataGrid.DataBind();
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.MyDataGrid.SelectedIndexChanged += new System.EventHandler(this.MyDataGrid_SelectedIndexChanged);
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void MyDataGrid_SelectedIndexChanged(object sender, System.EventArgs e)
  {
  
  }

  private void Button1_Click(object sender, System.EventArgs e)
  {
//   w.WriteStartElement("root");
//   w.WriteAttributeString("xmlns", "x", null, "urn:1");
//   w.WriteStartElement("item","urn:1");
//   w.WriteEndElement();
//   w.WriteStartElement("item","urn:1");
//   w.WriteEndElement();
//   w.WriteEndElement();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值