ASP.net Xml: ASP.net操作Xml
专题图编号:ylbtechASPnetXml100010010
XML课件PPT【在线PPT课件倡导者-ylb】 |
http://wenku.baidu.com/view/bfac3ebe1a37f111f1855bc2.html
1,功能描述 |
这是一个基于.net操作Xml的案例示例,对Vote.xml文档的CRUD(增读改删)操作。本配有PPT课件供大家参考学习。
2,技术与环境 |
操作系统: |
windows |
开发语言: |
C# |
开发框架: |
数据库: |
无 |
|
开发软件: |
Microsoft Visual Studio 2010 |
||
开发技术: |
ASP.net+Xml |
||
课程总策划: |
yuanbo |
成员: |
null |
个人主页: |
http://www.cnblogs.com/ylbtech/ |
||
科研团队: |
ylbtech |
教研团队: |
ylbtech |
3,/Vote.xml |
<?xml version="1.0" encoding="utf-8"?> <vote> <item belong="三国演义"> <id>1</id> <name>晓梅</name> <number>60</number> </item> <item belong="西游记"> <id>2</id> <name>小骆</name> <number>34</number> </item> <item belong="天涯"> <id>3</id> <name>莫离</name> <number>110</number> </item> </vote>
4,/App_Code/VoteInfo.cs |
using System; /// <summary> ///Vote 的摘要说明 /// </summary> public class VoteInfo { // 1, Attributes /// <summary> /// 图书名称 /// </summary> string _belong; /// <summary> /// 编号 /// </summary> string _id; /// <summary> /// 作者 /// </summary> string _name; /// <summary> /// 书本数量 /// </summary> string _number; // 2, Struct public VoteInfo(string belong, string id,string name, string number) { this._belong = belong; this._id = id; this._name = name; this._number = number; } public VoteInfo() { } //封装字段 public string Belong { get { return _belong; } set { _belong = value; } } public string Id { get { return _id; } set { _id = value; } } public string Name { get { return _name; } set { _name = value; } } public string Number { get { return _number; } set { _number = value; } } }
5,/DemoXml.aspx.cs | ylb_tip: 这儿是.net对Xml操作的核心代码区,请认真看,一定要把PPT课件看完,对根节点和节点要理解透 |
using System; using System.Xml; public partial class DemoXML : System.Web.UI.Page { /// <summary> /// ylb:1, 遍历xml文档 /// </summary> private void BianLi() { //提取xml文档 XmlDocument xd = new XmlDocument(); xd.Load(Server.MapPath("Vote.xml")); //获取根节点 XmlNode root = xd.DocumentElement; //获取节点列表 XmlNodeList items = root.ChildNodes; //遍历item项 Response.Write("<pre>"); foreach (XmlNode item in items) { //输出属性 Response.Write(item.Attributes["belong"].Name+"="+item.Attributes["belong"].InnerText+"\t"); //输出子节点 foreach (XmlNode p in item) { Response.Write(p.Name+"="+p.InnerText+"\t"); } Response.Write("\n"); } Response.Write("</pre>"); } /// <summary> /// ylb:2, 添加 /// </summary> /// <param name="item"></param> private void Add(VoteInfo item) { //提取xml文档 XmlDocument xd = new XmlDocument(); xd.Load(Server.MapPath("Vote.xml")); //获取根节点 XmlNode root = xd.DocumentElement; //创建元素 XmlElement newItem = xd.CreateElement("item"); XmlElement newID = xd.CreateElement("id"); XmlElement newName = xd.CreateElement("name"); XmlElement newNumber = xd.CreateElement("number"); //配参 newItem.SetAttribute("belong", item.Belong); //设置属性 newID.InnerText = item.Id; //设置内容 newName.InnerText = item.Name; newNumber.InnerText = item.Number; //装配,实现其组织结构 root.AppendChild(newItem); newItem.AppendChild(newID); newItem.AppendChild(newName); newItem.AppendChild(newNumber); //保存xml文档 xd.Save(Server.MapPath("Vote.xml")); } /// <summary> /// ylb:3, 修改一项 /// </summary> /// <param name="vote"></param> private void Update(VoteInfo vote) { //提取xml文档 XmlDocument xd = new XmlDocument(); xd.Load(Server.MapPath("Vote.xml")); //获取根节点 XmlNode root = xd.DocumentElement; //获取节点类表 XmlNodeList items = root.ChildNodes; //循环节点 foreach (XmlNode item in items) { //再循环节点 foreach (XmlNode p in item) { if (p.Name == "id" && p.InnerText == vote.Id) { //则修改这一项 //重设belong的值 item.Attributes["belong"].InnerText = vote.Belong; //((XmlElement)item).SetAttribute("belong", vote.Belong); //给该节点(id)下的节点赋值 p.NextSibling.InnerText = vote.Name; p.NextSibling.NextSibling.InnerText = vote.Number; } } } //保存xml文档 xd.Save(Server.MapPath("Vote.xml")); } /// <summary> /// ylb:4, 删除一项 /// </summary> /// <param name="id"></param> private void Delete(string id) { //提取xml文档 XmlDocument xd = new XmlDocument(); xd.Load(Server.MapPath("vote.xml")); //获取根节点 XmlNode root = xd.DocumentElement; //获取节点列表 XmlNodeList items = root.ChildNodes; //循环节点 foreach (XmlNode item in items) { foreach (XmlNode p in item) { if (p.Name == "id" && p.InnerText == id) { //移除该项 root.RemoveChild(item); } } } //保存xml文档 xd.Save(Server.MapPath("Vote.xml")); } protected void Page_Load(object sender, EventArgs e) { //调用展示 //ylb: 2, VoteInfo item = new VoteInfo("袁博自传", "4", "ylb", "100"); //Add(item); //ylb: 3, 根据id=3,修改 belong="天涯" name="莫离",number=110 VoteInfo item2 = new VoteInfo("天涯", "3", "莫离", "110"); //Update(item2); //ylb: 4, 删除id=4的项 Delete("3"); //ylb: 1, 遍历Xml文档 //BianLi(); } }
6,示例|讲解案例下载 |
博客园讲解:
百度文库开发文档:
http://passport.baidu.com/?business&aid=6&un=ylbtech#7
谷歌开源代码下载:
http://code.google.com/p/ylbtechaspnet/downloads/list
请单击“ylbtechXml100010010”
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |