专题图
编号:ylbtechASPnetXml100010010 http://wenku.baidu.com/view/bfac3ebe1a37f111f1855bc2.html 这是一个基于.net操作Xml的案例示例,对Vote.xml文档的CRUD(增读改删)操作。本配有PPT课件供大家参考学习。
操作系统:
| windows
| 开发语言:
| C#
|
开发框架:
| | 数据库:
| 无
|
开发软件:
| Microsoft Visual Studio 2010
|
开发技术:
| ASP.net+Xml
|
课程总策划:
| yuanbo
| 成员:
| null
|
个人主页:
| http://www.cnblogs.com/ylbtech/ |
科研团队:
| ylbtech
| 教研团队:
| ylbtech
|
<?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>
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();
}
}