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.Xml;
using System.IO;
namespace websearch
{
/// <summary>
/// xml_insert 的摘要说明。
/// </summary>
public class xml_insert : System.Web.UI.Page
{
protected XmlDocument objXmlDoc = new XmlDocument();
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Button Button3;
protected System.Web.UI.WebControls.Button Button4;
protected System.Web.UI.WebControls.TextBox nid;
private void Page_Load(object sender, System.EventArgs e)
{
}
protected void Addnode(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
String fileName;
fileName = "userinfo.xml";
try
{
//先建立一个XML DOM
XmlDocument doc = new XmlDocument();
//读入XML文件
doc.Load(Server.MapPath(fileName));
XmlElement root = doc.DocumentElement;
XmlNodeList nodeList = root.SelectNodes("/Users/user/@id");
int j=nodeList.Count+1;
Response.Write("最大节点编号"+j);
/*for(i=0;i<nodeList.Count;i++)
{
Response.Write(nodeList[i].Value+"<br>");
}
*/
//建立一个节点。
XmlElement newUser = doc.CreateElement("user");
//建立一个属性,并将次属性放置在接点 “newUser” 下
XmlAttribute newID = doc.CreateAttribute("id");
newID.InnerText =j.ToString();
newUser.SetAttributeNode(newID);
//建立一个节点,并将此做为“newUser”的子节点
XmlElement user_id = doc.CreateElement("user_id");
user_id.InnerText = j.ToString();
newUser.AppendChild(user_id);
XmlElement user_name = doc.CreateElement("user_name");
user_name.InnerText = "user_name"+j.ToString();
newUser.AppendChild(user_name);
XmlElement password = doc.CreateElement("password");
password.InnerText = "password"+j.ToString();
newUser.AppendChild(password);
XmlElement true_name = doc.CreateElement("true_name");
true_name.InnerText = "true_name"+j.ToString();
newUser.AppendChild(true_name);
XmlElement phone = doc.CreateElement("phone");
phone.InnerText = "phone"+j.ToString();
newUser.AppendChild(phone);
XmlElement address = doc.CreateElement("address");
address.InnerText = "address"+j.ToString();
newUser.AppendChild(address);
XmlElement city = doc.CreateElement("city");
city.InnerText = "city"+j.ToString();
newUser.AppendChild(city);
XmlElement state = doc.CreateElement("state");
state.InnerText = "state"+j.ToString();
newUser.AppendChild(state);
//将节点“newUser”放在根节点下,并保存
doc.DocumentElement.AppendChild(newUser);
doc.Save(Server.MapPath(fileName));
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
}
}
public void delNodeValue(object sender, System.EventArgs e)
{
string theid=nid.Text;
// 创建一个XmlDocument对象
string xmlPath=Server.MapPath("userinfo.xml");
XmlDocument xmlDoc=new XmlDocument();
// 加载指定的XML数据
xmlDoc.Load(xmlPath);
// 选择匹配 XPath 表达式的第一个 XmlNode
XmlNode root=xmlDoc.SelectSingleNode("Users");
// 获取节点的所有子节点
XmlNodeList xnList=root.ChildNodes;
bool isFinded=false;
foreach(XmlNode xn in xnList)
{
if(xn.SelectSingleNode("user_id").InnerText==theid)
{
isFinded=true;
root.RemoveChild(xn);// 移除指定的子节点
xmlDoc.Save(xmlPath);
break;
}
}
// 显示结果
if(isFinded)
Response.Write ("已删除");
else
Response.Write ("未找到相应的记录");
}
public void checkNodeValue(object sender, System.EventArgs e)
{
string theid=nid.Text;
// 创建一个XmlDocument对象
string xmlPath=Server.MapPath("userinfo.xml");
XmlDocument xmlDoc=new XmlDocument();
// 加载指定的XML数据
xmlDoc.Load(xmlPath);
// 选择匹配 XPath 表达式的第一个 XmlNode
XmlNode root=xmlDoc.SelectSingleNode("Users");
// 获取节点的所有子节点
XmlNodeList xnList=root.ChildNodes;
bool isFinded=false;
foreach(XmlNode xn in xnList)
{
if(xn.SelectSingleNode("user_id").InnerText==theid)
{
isFinded=true;
break;
}
}
// 显示结果
if(isFinded)
Response.Write ("已经存在");
else
Response.Write ("没有找到");
}
public void modifynode(object sender, System.EventArgs e)
{
string theid=nid.Text;
string xmlPath=Server.MapPath("userinfo.xml");
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(xmlPath);
// 选择匹配 XPath 表达式的第一个 XmlNode
XmlNode root=xmlDoc.SelectSingleNode("Users");
XmlElement elem = xmlDoc.CreateElement("password");
elem.InnerText="my news pass";
// 获取节点的所有子节点
XmlNodeList xnList=root.ChildNodes;
bool isFinded=false;
foreach(XmlNode xn in xnList)
{
if(xn.SelectSingleNode("user_id").InnerText==theid)
{
isFinded=true;
root.SelectSingleNode("User/user[@id=/"3/"]/password").InnerText ="ppp";
xmlDoc.Save(xmlPath);
break;
}
}
// 显示结果
if(isFinded)
Response.Write ("已经更新");
else
Response.Write ("更新失败");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}