xml的反序列化

  通俗的说:xml反序列化就是将xml转化为对应的对象

现有xml文件如下:

<?xml version="1.0" encoding="utf-16"?>

<学校 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<学生 姓名="李四" 学号="0443111121">

<分数 语文="90" 数学="89" 英语="85" />

</学生>

<学生 姓名="李四" 学号="0443111121">

<分数 语文="90" 数学="89" 英语="85" />

</学生>

</学校>

 

 

 

    [XmlRoot("学校")]
    public class School
    {
        List<Student> stu = new List<Student>();
        [XmlElement(ElementName = "学生")]
        public List<Student> Stu
        {
            get { return stu; }
            set { stu = value; }
        }
    }

    public class Student
    {
        private string name;
                [XmlAttribute(AttributeName="姓名")]
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
        private string stuID;
                [XmlAttribute(AttributeName="学号")]
        public string StuID
        {
            get { return stuID; }
            set { stuID = value; }
        }
                private Score score = new Score();
                [XmlElement(ElementName = "分数")]
                public Score Score
                {
                    get{return score;}
                    set{score=value;}
                }
    }

    public class Score
    {
        private string chinese;
        [XmlAttribute(AttributeName = "语文")]
        public string Chinese
        {
            get { return chinese; }
            set { chinese = value; }
        }
        private string math;
        [XmlAttribute(AttributeName = "数学")]
        public string Math
        {
            get { return math; }
            set { math = value; }
        }
        private string english;
        [XmlAttribute(AttributeName = "英语")]
        public string English
        {
            get { return english; }
            set { english = value; }
        }
    }

 

 

            String s = @"<?xml version='1.0' encoding='utf-16'?>

<学校 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>

<学生 姓名='张三' 学号='0443111121'>

<分数 语文='90' 数学='89' 英语='85' />

</学生>

<学生 姓名='李四' 学号='0443111121'>

<分数 语文='90' 数学='89' 英语='85' />

</学生>

</学校>";

            School school;
            StringReader sr = new StringReader(s);
            XmlSerializer mySerializer = new XmlSerializer(typeof(School));
            XmlReader xr =XmlReader.Create(sr);
            school=mySerializer.Deserialize(xr)as School;

school对象就是xml反序列化的对象.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值