XML读取数据同步


一、数据源
<?xml version="1.0" encoding="gb2312" ?>
<课表>
<班级>
<班级编号>3564</班级编号>
<班级名称>二星口语精品班</班级名称>
<课程名称>考级考证培训</课程名称>
<课程类别>计划开班-周末班</课程类别>
<课程介绍>昂立少儿是上海市通用外语考试办公室授权的08考点。昂立少儿培训讲师都是由通用考试考官授课,思路清、讲得活、互动强、通过率高,主要帮助考生熟悉考试题型,了解考试形式,掌握考试

技巧,在原有英语听力、口语基础上提高。该考试是目前全市最权威的青少年口语考试,含金量高,得到本市各学校认可,该证书可为学生提供升学帮助。</课程介绍>
<学习目标></学习目标>
<适合对象></适合对象>
<价格>2200</价格>
<优惠价>2200</优惠价>
<师资></师资>
<教材></教材>
<学时>11</学时>
<开班时间>2011-05-22</开班时间>
<上课时间>周日10:00-12:00</上课时间>
<校区>周浦校区</校区>
</班级>
</课表>

二、处理代码
            using System.Xml;
            string strUrl=this.TextBox1.Text.Trim();
            if(strUrl==string.Empty){
                Comm.Alert("请添加一个有效的xml文件");
                return;
            }
            int PIN=DateTime.Now.Month*100+DateTime.Now.Day;  //当天操作标识
            DateTime now1=DateTime.Now;//开始操作时间
            XmlTextReader reader=new XmlTextReader(strUrl);
            SortedList Class=new SortedList(); //保存读取的课表数据
            SortedList Nodes=new SortedList();//经过对应转换的课表数据
            string NodeName="",NodeValue="",NodeEnd="";
            while(reader.Read()){
                switch(reader.NodeType){
                    case XmlNodeType.Element:
                        //如果出现</>
                        if(Comm.IsNullOrEmpty(Class[NodeName.Trim()])){
                             Class.Add(NodeName.Trim(),"");
                        }
                        NodeName=reader.Name;
                        break;
                    case XmlNodeType.Text:
                        NodeValue=Comm.ToSql(reader.Value);
                        break;
                    case XmlNodeType.CDATA:
                        NodeValue=Comm.ToSql(reader.Value);
                        break;
                    case XmlNodeType.EndElement:
                        NodeEnd=reader.Name;
                        break;
                }


                if(reader.NodeType==XmlNodeType.Element && NodeName=="班级")
                {
                    //一条记录结束
                    NodeName="";
                    NodeValue="";
                    NodeEnd="";
                    Class.Clear();
                }
                else if((reader.NodeType==XmlNodeType.Text || reader.NodeType== XmlNodeType.CDATA) && NodeName!="")
                {
                    if(!Comm.IsNullOrEmpty(NodeValue.Trim()))
                    {
                        Class.Add(NodeName.Trim(),NodeValue.Trim());
                    }
                }
                else if(reader.NodeType==XmlNodeType.EndElement && NodeEnd=="班级")
                {
                    NodeCount++; //总记录数增加
                    Nodes.Clear();
                    //开始收集信息
                    Nodes.Add("ClassId",Class["班级编号"].ToString());
                    .....
                    //数据操作
                }
             }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值