xml文件格式
以下是引用片段: <?xml version="1.0"?> <dbGuest> <User> <Name uid="d">ew</Name> <City>dsa</City> <Email>eq</Email> </User> </dbGuest> |
创建XML文件
以下是引用片段: private void btnCreateXml_Click(object sender, System.EventArgs e) { //创建XML文档对象 System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument(); //创建xml 声明节点 System.Xml.XmlNode xmlnode = xmldoc.CreateNode(System.Xml.XmlNodeType.XmlDeclaration, "", ""); //添加上述创建和 xml声明节点 xmldoc.AppendChild(xmlnode); //创建xml dbGuest 元素(根节点) System.Xml.XmlElement xmlelem = xmldoc.CreateElement("", "dbGuest", ""); xmldoc.AppendChild(xmlelem); |
添加用户:
以下是引用片段: private void btnAdd_Click(object sender, System.EventArgs e) { string uID = txtUID.Text; string userName = txtUserName.Text; string City = txtCity.Text; string Email = txtEmail.Text; if(!System.IO.File.Exists(xmlFile)) { lblMsg.Text = "xml文件"+xmlFile+"不存在,请先点击创建!"; return; } XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlFile); //加载文件 XmlNode root = xmlDoc.SelectSingleNode("dbGuest");//查找<dbGuest> XmlElement xe_dbGuest_User = xmlDoc.CreateElement("User");//创建一个<User>节点 XmlElement xe_dbGuest_User_Name = xmlDoc.CreateElement("Name"); xe_dbGuest_User_Name.InnerText = userName;//设置文本节点 XmlAttribute a = xmlDoc.CreateAttribute("uid");//创建一个 属性 a.Value = uID; xe_dbGuest_User_Name.Attributes.Append(a);//增加一个属性 xe_dbGuest_User.AppendChild(xe_dbGuest_User_Name);//添加到<User>节点中 XmlElement xe_dbGuest_User_City = xmlDoc.CreateElement("City");//创建City节点 xe_dbGuest_User_City.InnerText = City; xe_dbGuest_User.AppendChild(xe_dbGuest_User_City);//添加到<User>节点中 XmlElement xe_dbGuest_User_Email = xmlDoc.CreateElement("Email");//创建Email节点 xe_dbGuest_User_Email.InnerText = Email; xe_dbGuest_User.AppendChild(xe_dbGuest_User_Email); root.AppendChild(xe_dbGuest_User);//添加到<dbGuest>节点中 |
删除用户:
以下是引用片段: private void btnDelete_Click(object sender, System.EventArgs e) { string selectName = ddlNames.SelectedItem.Text; string selectID = ddlNames.SelectedValue; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlFile); XmlNodeList xnl=xmlDoc.SelectSingleNode("dbGuest").ChildNodes; |
更新用户:
以下是引用片段: private void btnUpdate_Click(object sender, System.EventArgs e) { string selectName = ddlNames.SelectedItem.Text; string selectID = ddlNames.SelectedValue; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlFile); XmlNodeList nodeList=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;//获取dbGuest节点的所有子节点 foreach(XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 XmlNodeList node = xe.GetElementsByTagName("Name"); if(node.Count>0) { //判断为用户选择的 if(node[0].InnerText==selectName && node[0].Attributes["uid"].Value == selectID) { XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 foreach(XmlNode xn1 in nls)//遍历 { XmlElement xe2=(XmlElement)xn1;//转换类型 if(xe2.Name=="Email")//如果找到Email属性 { xe2.InnerText="http://eflylab.cnblogs.com";//则修改 break;//找到退出来就可以了 } } break; } } } xmlDoc.Save(xmlFile); BindXML(); GetXmlContent(); } |
查询用户:
以下是引用片段: private void btnSelect_Click(object sender, System.EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load(xmlFile); string selectName = ddlNames.SelectedItem.Text; string email = doc.SelectSingleNode("//User[Name=’"+selectName+"’]").ChildNodes.Item(2).InnerText; lblMsg.Text = "查询"+selectName+"用户email为"+email; } |