C#操作Xml(增删改查)练习

web.config配置:   前台:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_Default" %> C#操作Xml(增删改查)练习

显示Xml文档
为html控件绑定服务器控件的两个要点:
1.onserverclick="serverMethod"这里只写方法名.
2.后台代码,必须是
protected void XmlAdd(object sender, EventArgs e){}
注意两个参数及保护级.
后台:using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml; public partial class test_Default : System.Web.UI.Page { string xmlFile = System.Configuration.ConfigurationManager.AppSettings["xmlFile"]; XmlDocument XmlDoc = new XmlDocument(); protected void Page_Load(object sender, EventArgs e) { Bind(); } private void Bind() { XmlDoc.Load(Server.MapPath("../" + xmlFile));//向上一级 this.showXml.InnerHtml = System.Web.HttpUtility.HtmlEncode(XmlDoc.InnerXml); } protected void XmlAdd(object sender, EventArgs e) { XmlNode objRootNode = XmlDoc.SelectSingleNode("//Root"); //声明XmlNode对象 XmlElement objChildNode = XmlDoc.CreateElement("Student"); //创建XmlElement对象 objChildNode.SetAttribute("id", "1"); objRootNode.AppendChild(objChildNode); // XmlElement objElement = XmlDoc.CreateElement("Name");//???结点和元素的区别?方法都一样. objElement.InnerText = "tree1"; objChildNode.AppendChild(objElement); //保存 XmlDoc.Save(Server.MapPath("../" + xmlFile)); } protected void XmlDelete(object sender, EventArgs e) { string Node = "//Root/Student[Name='tree1']";//Xml是严格区分大小写的. XmlDoc.SelectSingleNode(Node).ParentNode.RemoveChild(XmlDoc.SelectSingleNode(Node)); //保存 XmlDoc.Save(Server.MapPath("../" + xmlFile)); } protected void XmlUpdate(object sender, EventArgs e) { //XmlDoc.SelectSingleNode("//Root/Student[Name='tree1']/Name").InnerText = "tree2"; XmlDoc.SelectSingleNode("//Root/Student[Name='tree1']").Attributes["id"].Value = "001"; //保存 XmlDoc.Save(Server.MapPath("../" + xmlFile)); } protected void XmlQuery(object sender, EventArgs e) { XmlNodeList NodeList = XmlDoc.SelectNodes("//Root/Student");//查询全部的student节点 //循环遍历节点,查询是否存在该节点 for (int i = 0; i < NodeList.Count; i++) { Response.Write(NodeList[i].ChildNodes[0].InnerText); } //查询单个节点,//表示全部匹配的元素./表示以此为根的子元素.javascript下的查询也是一样. string XmlPathNode = "//Root/Student[Name='rock']/Photo"; Response.Write(XmlDoc.SelectSingleNode(XmlPathNode).InnerText); } } xml文件: rock rock1 123 男生 1986-1-1 [email protected] 123374355 [email protected] 13005129336 http://www.loveplc.cn
广州
asp.net菜鸟 images/rock.gif
tree 宿舍老大 51aspx 男生 [email protected]
tree2 tree1

你可能感兴趣的:(XML研究)