您的位置:首页 > 其它

XML读取数据同步

2011-06-22 15:22 309 查看
一、数据源

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

                    .....

                    //数据操作

                }

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