广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-05-16 07:54:27 次阅读 稿源:互联网
    广告
    web.config配置:
    代码如下:

    <appSettings>
    <add key="xmlFile" value="xml/class.xml"/>
    </appSettings>
    <appSettings>
    <add key="xmlFile" value="xml/class.xml"/>
    </appSettings>

    前台:
    代码如下:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>C#操作Xml(增删改查)练习</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div id="showXml" runat="server">
    显示Xml文档
    </div>
    <div style="background-color:Green;color:Yellow;" style="background-color:Green;color:Yellow;">为html控件绑定服务器控件的两个要点:<br />
    1.onserverclick="serverMethod"这里只写方法名.<br />
    2.后台代码,必须是<br />
    protected void XmlAdd(object sender, EventArgs e){}<br />
    注意两个参数及保护级.
    </div>
    <input id="btnAdd" type="button" value="add" runat="server" onserverclick="XmlAdd" />
    <input id="btnDelete" type="button" value="delete" runat="server" onserverclick="XmlDelete" />
    <input id="btnUpdate" type="button" value="update" runat="server" onserverclick="XmlUpdate" />
    <input id="btnQuery" type="button" value="query" runat="server" onserverclick="XmlQuery" />
    </form>
    </body>
    </html>
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>C#操作Xml(增删改查)练习</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div id="showXml" runat="server">
    显示Xml文档
    </div>
    <div style="background-color:Green;color:Yellow;" style="background-color:Green;color:Yellow;">为html控件绑定服务器控件的两个要点:<br />
    1.onserverclick="serverMethod"这里只写方法名.<br />
    2.后台代码,必须是<br />
    protected void XmlAdd(object sender, EventArgs e){}<br />
    注意两个参数及保护级.
    </div>
    <input id="btnAdd" type="button" value="add" runat="server" onserverclick="XmlAdd" />
    <input id="btnDelete" type="button" value="delete" runat="server" onserverclick="XmlDelete" />
    <input id="btnUpdate" type="button" value="update" runat="server" onserverclick="XmlUpdate" />
    <input id="btnQuery" type="button" value="query" runat="server" onserverclick="XmlQuery" />
    </form>
    </body>
    </html>

    后台:
    代码如下:

    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);
    }
    }
    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文件
    代码如下:

    <?xml version="1.0" encoding="gb2312"?>
    <Root>
    <Student Admin="no">
    <Name>rock</Name>
    <NickName>rock1</NickName>
    <Pwd>123</Pwd>
    <Sex>男生</Sex>
    <Birthday>1986-1-1</Birthday>
    <Email>xymac@163.com</Email>
    <QQ>123374355</QQ>
    <Msn>loveplc@live.cn</Msn>
    <Tel>13005129336</Tel>
    <Homepage>http://www.jb51.net</Homepage>
    <Address>广州</Address>
    <Work>asp.net菜鸟</Work>
    <Photo>images/rock.gif</Photo>
    <Time>2008-3-18 10:15:29</Time>
    </Student>
    <Student Admin="yes">
    <Name>tree</Name>
    <NickName>宿舍老大</NickName>
    <Pwd>51aspx</Pwd>
    <Sex>男生</Sex>
    <Birthday>
    </Birthday>
    <Email>support@tree.com</Email>
    <QQ>
    </QQ>
    <Msn>
    </Msn>
    <Tel>
    </Tel>
    <Homepage>
    </Homepage>
    <Address>
    </Address>
    <Work>
    </Work>
    <Photo>
    </Photo>
    <Time>2008-3-26 11:39:57</Time>
    </Student>
    <Student>
    <Name>tree2</Name>
    </Student>
    <Student id="001">
    <Name>tree1</Name>
    </Student>
    </Root>

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告