zoukankan      html  css  js  c++  java
  • 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”

     

    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     

  • 相关阅读:
    JAVA内部类详解
    表、栈和队列
    大型网站架构演化<二>
    eclipse中build path 中JDK与java compiler compliance level的问题(转)
    XFire构建服务端Service的两种方式
    SpringMVC简单例子
    Mybatis
    java静态代码块 类加载顺序问题。
    Tomcat6.0数据源配置
    解析xml的几种方式
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2640523.html
Copyright © 2011-2022 走看看