📄 新建 文本文档 (16).txt
字号:
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using System.Xml;
12using System.IO;
13public partial class news_manage2 : System.Web.UI.Page
14...{
15 protected void Page_Load(object sender, EventArgs e)
16 ...{
17 if (!IsPostBack)
18 ...{
19 ReadXML();
20 }
21 }
22 private void ReadXML()
23 ...{
24 string url = Server.MapPath("news.xml");//获得当前文件夹下的XML文件
25 StreamReader sRead = new StreamReader(url, System.Text.Encoding.GetEncoding("GB2312"));
26 //以一种特定的编码从字节流读取字符,必须要转化成GB2312读取才不能出乱码
27 XmlDataDocument datadoc = new XmlDataDocument();//操作XML文档
28 datadoc.DataSet.ReadXml(sRead);//将读取的字节流存到DataSet里面去
29 this.GridView1.DataSource = datadoc.DataSet.Tables[0].DefaultView;
30 //以news_id建立索引
31 this.GridView1.DataBind();
32 datadoc = null;//清空对XML数据的操作
33 sRead.Close();//关闭字节流的读取
34 }
35
36 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
37 ...{
38 GridView1.PageIndex = e.NewPageIndex;
39 ReadXML();
40 }
41 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
42 ...{
43 this.GridView1.EditIndex = e.NewEditIndex;
44 ReadXML();
45 }
46 protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
47 ...{
48 this.GridView1.EditIndex = -1;
49 ReadXML();
50 }
51 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
52 ...{
53 string url = Server.MapPath("news.xml");
54 string str_id = GridView1.DataKeys[e.RowIndex]["news_id"].ToString();
55 //获取行信息的索引字段news_id 56 //定义变量title,值赋给“标题”模板列的TextBox1控件
57 string title = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].FindControl("TextBox1")).Text;
58 //定义变量author,值赋给“作者”模板列的TextBox2控件
59 string author = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].FindControl("TextBox2")).Text;
60 //定义变量ly,值赋给“来源”模板列的TextBox3控件
61 string ly = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl("TextBox3")).Text;
62 XmlDocument xmlDoc = new XmlDocument();
63 xmlDoc.Load(url); //加载XML文件
64 XmlNode root = xmlDoc.SelectSingleNode("xinwen");//查找xinwen节点
65 XmlNodeList xnl = root.ChildNodes; //获取xinwen下面所以子节点
66 for (int i = 0; i < xnl.Count; i++)
67 ...{
68 XmlNodeList xnl11 = xnl.Item(i).SelectNodes("news_id");//查找news_id下面节点集合
69 XmlElement xe = (XmlElement)xnl11.Item(0); //news_id节点下面的元素
70 if (xe.InnerText == str_id) //获取节点以及所有子集的串联值
71 ...{
72 xe.InnerText = str_id;
73 xe.ParentNode.ChildNodes.Item(1).InnerText = title;
74 xe.ParentNode.ChildNodes.Item(2).InnerText = author;
75 xe.ParentNode.ChildNodes.Item(3).InnerText = ly;
76 }
77 }
78 xmlDoc.Save(url);
79 this.GridView1.EditIndex = -1;
80 ReadXML();
81 }
82 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
83 ...{
84 string url = Server.MapPath("news.xml");
85 string str_id = GridView1.DataKeys[e.RowIndex]["news_id"].ToString();
86 XmlDocument xmlDoc = new XmlDocument();
87 xmlDoc.Load(url); //加载XML文件
88 XmlNode root = xmlDoc.SelectSingleNode("xinwen");//查找xinwen节点
89 XmlNodeList xnl = root.ChildNodes; //获取xinwen下面所以子节点
90 for (int i = 0; i < xnl.Count; i++)
91 ...{
92 XmlNodeList xnl11 = xnl.Item(i).SelectNodes("news_id");
93 //查找username下面节点集合
94 XmlElement xe = (XmlElement)xnl11.Item(0);
95 //username节点下面的元素
96 if (xe.InnerText == str_id) //获取节点以及所有子集的串联值
97 ...{
98 root.RemoveChild(xe.ParentNode);//移除指顶节点
99 }
100 }
101 xmlDoc.Save(url);
102 ReadXML();
103 }
104}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -