开发者社区> 吞吞吐吐的> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ASP.net Xml: ASP.net操作Xml

简介:
+关注继续查看

 专题图ylbtech-asp.net-logo编号: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://ylbtech.cnblogs.com/

百度文库开发文档:

       http://passport.baidu.com/?business&aid=6&un=ylbtech#7

谷歌开源代码下载:

       http://code.google.com/p/ylbtechaspnet/downloads/list

请单击“ylbtechXml100010010”

 本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2012/08/16/2640523.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
跟我一起学习ASP.NET 4.5 MVC4.0(六)
原文http://www.cnblogs.com/xdotnet/archive/2012/07/21/aspnet40_webpage20.html 这一系列文章跨度有点大,由于最近忙于其他事情,没有更新,今天重新安装了下Win8系 统,VS2012和SQLServer 2012,顺便抽空继续一篇。
971 0
跟我一起学习ASP.NET 4.5 MVC4.0(五)
原文http://www.cnblogs.com/xdotnet/archive/2012/03/29/aspnet_mvc4_html_control_checkboxlist.html 前面几篇文章介绍了一下ASP.NET MVC中的一些基础,今天我们一起来学习一下在ASP.NET MVC中控件的封装。
896 0
跟我一起学习ASP.NET 4.5 MVC4.0(四)
原文http://www.cnblogs.com/xdotnet/archive/2012/03/27/aspnet_mvc4_authorize.html 前几个文章中介绍了一些关于MVC4.0的东东,今天我们来看一下登陆验证,也可以说是 权限验证,即AuthorizeAttribute。
854 0
跟我一起学习ASP.NET 4.5 MVC4.0(三)
原文 http://www.cnblogs.com/xdotnet/archive/2012/03/07/aspnet_mvc40_validate.html 今天我们继续ASP.NET 4.5 MVC 4.0,前两天熟悉了MVC4.0在VS11和win8下的更新,以及MVC中的基础语法和几个关键字的使用。
924 0
跟我一起学习ASP.NET 4.5 MVC4.0(二)
原文http://www.cnblogs.com/xdotnet/archive/2012/03/06/aspnet_mvc40_keywords.html 上一篇文章中(跟我一起学习ASP.NET 4.5 MVC4.0(一)) 我们基础的了解了一下ASP.NET MVC4.0的一些比较简单的改变,主要是想对于MVC3.0来说的。
966 0
4849
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载