本文共 5641 字,大约阅读时间需要 18 分钟。
专题图编号:ylbtechASPnetXml100010010
XML课件PPT【在线PPT课件倡导者-ylb】 |
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 |
1 晓梅 60 2 小骆 34 3 莫离 110
4,/App_Code/VoteInfo.cs |
using System;//////Vote 的摘要说明/// public class VoteInfo{ // 1, Attributes ////// 图书名称 /// string _belong; ////// 编号 /// string _id; ////// 作者 /// string _name; ////// 书本数量 /// 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{ ////// ylb:1, 遍历xml文档 /// 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(""); 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(""); } ////// ylb:2, 添加 /// /// 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")); } ////// ylb:3, 修改一项 /// /// 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")); } ////// ylb:4, 删除一项 /// /// 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,示例|讲解案例下载 |
博客园讲解:
百度文库开发文档:
谷歌开源代码下载:
请单击“ylbtechXml100010010”
本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2012/08/16/2640523.html,如需转载请自行联系原作者