您的位置:首页 > 编程语言 > ASP

ASP.net Xml

2015-07-10 21:40 459 查看


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();
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: