手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net(C#) Xml操作(增删改查)练习
asp.net(C#) Xml操作(增删改查)练习
摘要:web.config配置:复制代码代码如下:前台:复制代码代码如下:C#操作Xml(增删改查)练习显示Xml文档为html控件绑定服务器控件...

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>为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>为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>

【asp.net(C#) Xml操作(增删改查)练习】相关文章:

asp.net在后端动态添加样式表调用的方法

asp.net(c#)有关 Session 操作的几个误区

asp,asp.net学习教程下载

asp.net 时间类 一周的周一和周末的日期

asp.net(c#) ubb处理类

asp.net模板引擎Razor调用外部方法用法实例

asp.net2.0中css失效的解决方法

asp.net 文章内容分页显示的代码

asp.net Timer的使用方法

asp.net 操作excel的实现代码

精品推荐
分类导航