XML文档操作及数据库导出XML文档

本文介绍了一个使用XML文件存储学生信息,并提供了添加、删除、修改和查看学生信息的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Xml;

public partial class _Default : System.Web.UI.Page
{
XmlDocument xdoc;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Create();
xdoc = new XmlDocument();
xdoc.Load(Server.MapPath("student.xml"));
XmlNodeList list = xdoc.GetElementsByTagName("name");
foreach (XmlNode node in list)
{
this.DropDownList1.Items.Add(node.InnerText);
}
Session["doc"] = xdoc;
}
else
{
xdoc = Session["doc"] as XmlDocument;
}

}
private void Create()
{
string strcnn = "server=.\\sqlexpress;database=XML;integrated security=sspi";
using (SqlConnection sqlCnn = new SqlConnection(strcnn))
{
using (SqlCommand sqlCmm = sqlCnn.CreateCommand())
{
sqlCmm.CommandText = "select * from student";
sqlCnn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlCmm);
da.Fill(ds);
ds.WriteXml(Server.MapPath("student.xml"));
//this.ClientScript.RegisterClientScriptBlock(GetType(), "提示", "<script>alert('生成成功!')</script>");
}
}
}//产生XML文档
protected void btn_scan_Click(object sender, EventArgs e)
{
XmlNode node = xdoc.DocumentElement.SelectSingleNode("Table[name='"+this.DropDownList1.Text+"']");
foreach (XmlNode item in node.ChildNodes)
{
if (item.LocalName=="id")
{
this.txb_nb.Text = item.InnerText;
}
if (item.LocalName=="name")
{
this.txb_name.Text = item.InnerText;
}

}
}//查看
protected void btn_edit_Click(object sender, EventArgs e)
{
XmlNode node = xdoc.DocumentElement.SelectSingleNode("Table[name='" + this.DropDownList1.Text + "']");
node.SelectSingleNode("id").InnerText = this.txb_nb.Text;
node.SelectSingleNode("name").InnerText = this.txb_name.Text;
this.ClientScript.RegisterClientScriptBlock(GetType(), "asdf", "<script>alert('修改成功!')</script>");
}
protected void btn_delete_Click(object sender, EventArgs e)
{
XmlNode node = xdoc.DocumentElement.SelectSingleNode("Table[name='" + this.DropDownList1.Text + "']");
if (node!=null)
{
xdoc.DocumentElement.RemoveChild(node);
this.DropDownList1.Items.RemoveAt(this.DropDownList1.SelectedIndex);
xdoc.Save(Server.MapPath("student.xml");
ClientScript.RegisterStartupScript(GetType(),"提示","<csript>alert('删除成功')</script>",false);
}
}//删除
protected void btn_add_Click(object sender, EventArgs e)
{
XmlElement table = xdoc.CreateElement("Table");
XmlElement id = xdoc.CreateElement("id");
id.AppendChild(xdoc.CreateTextNode(this.txb_nb.Text));
XmlElement name = xdoc.CreateElement("name");
name.AppendChild(xdoc.CreateTextNode(this.txb_name.Text));
table.AppendChild(id);
table.AppendChild(name);
xdoc.DocumentElement.AppendChild(table);
this.DropDownList1.Items.Add(this.txb_name.Text);
xdoc.Save(Server.MapPath("student.xml"));
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "提示",
"<script type='text/javascript'>alert('append ok!');</script>");

}//添加
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值