当前位置:编程学习 > C#/ASP.NET >>

XML与SQLServer数据库的映射问题

小女子现在在做毕业设计,因为之前C#没有学好,做起来相当吃力
现在遇到一个难题,老师要求将XML文档与SQLServer数据库进行映射(当然,还提出要根据CIM进行建模,这个就更深奥了,完全迷茫)就是想问一下大家要怎样进行映射,看来网上各种方法,绝对眼花缭乱了,神马XmlDocument、XmlDataDocument、Xpath……好像是有好多种方法,可是我不知道该用哪种,现在附加上一个自己写的XML文档:
<?xml version="1.0" encoding="utf-8" ?>
<powertransformers>
  <powertransformer>
    <EPC>000A0001000200</EPC>
    <name>a2</name>
    <typename>b1</typename>
    <bmagSat>2000</bmagSat>
    <magBaseKV>220</magBaseKV>
    <magSatFlux>0.6</magSatFlux>
    <phases>20</phases>
    <transfCoolingtype>abc</transfCoolingtype>
    <operatetime>2012/4/23/12:20:00</operatetime>
  </powertransformer>
  <powertransformer>
  <EPC>000A0001000200</EPC>
    <name>a3</name>
    <typename>b2</typename>
    <bmagSat>2000</bmagSat>
    <magBaseKV>380</magBaseKV>
    <magSatFlux>0.6</magSatFlux>
    <phases>40</phases>
    <transfCoolingtype>cba</transfCoolingtype>
    <operatetime>2012/4/23/12:30:00</operatetime>
  </powertransformer>
</powertransformers>

有没有人之前做过类似的东西可以给发个例子么?
哎……用我同学的话说就是,我们不排斥做项目,我们只是不会写代码…… XML 数据库映射 --------------------编程问答--------------------

class Program
    {
        static void Main(string[] args)
        {

            String xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<powertransformers>
  <powertransformer>
    <EPC>000A0001000200</EPC>
    <name>a2</name>
    <typename>b1</typename>
    <bmagSat>2000</bmagSat>
    <magBaseKV>220</magBaseKV>
    <magSatFlux>0.6</magSatFlux>
    <phases>20</phases>
    <transfCoolingtype>abc</transfCoolingtype>
    <operatetime>2012/4/23/12:20:00</operatetime>
  </powertransformer>
  <powertransformer>
  <EPC>000A0001000200</EPC>
    <name>a3</name>
    <typename>b2</typename>
    <bmagSat>2000</bmagSat>
    <magBaseKV>380</magBaseKV>
    <magSatFlux>0.6</magSatFlux>
    <phases>40</phases>
    <transfCoolingtype>cba</transfCoolingtype>
    <operatetime>2012/4/23/12:30:00</operatetime>
  </powertransformer>
</powertransformers>";

            var xs = new XmlSerializer(typeof(Powertransformers));
            using (var reader = new StringReader(xml))
            {
                var result = xs.Deserialize(reader) as Powertransformers;
            }
            Console.ReadKey();
        }
    }
    [XmlRoot("powertransformers")]
    public class Powertransformers
    {
        public Powertransformers()
        {
            Powers = new List<Powertransformer>();
        }

        [XmlElement("powertransformer")]
        public List<Powertransformer> Powers { get; set; }

    }

    public class Powertransformer
    {
        [XmlElement]
        public String EPC { get; set; }
        [XmlElement]
        public String name { get; set; }
        [XmlElement]
        public String typename { get; set; }
        [XmlElement]
        public Int32 bmagSat { get; set; }
        [XmlElement]
        public Int32 magBaseKV { get; set; }
        [XmlElement]
        public Single magSatFlux { get; set; }
        [XmlElement]
        public Int32 phases { get; set; }
        [XmlElement]
        public String transfCoolingtype { get; set; }
        [XmlElement]
        public String operatetime { get; set; }

    }
--------------------编程问答--------------------
引用 1 楼 XiaoCoder 的回复:

class Program
    {
        static void Main(string[] args)
        {

            String xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<powertransformers>
  <powertransformer>
    <EPC>000A0001000200</EPC>
    <name>a2</name>
    <typename>b1</typename>
    <bmagSat>2000</bmagSat>
    <magBaseKV>220</magBaseKV>
    <magSatFlux>0.6</magSatFlux>
    <phases>20</phases>
    <transfCoolingtype>abc</transfCoolingtype>
    <operatetime>2012/4/23/12:20:00</operatetime>
  </powertransformer>
  <powertransformer>
  <EPC>000A0001000200</EPC>
    <name>a3</name>
    <typename>b2</typename>
    <bmagSat>2000</bmagSat>
    <magBaseKV>380</magBaseKV>
    <magSatFlux>0.6</magSatFlux>
    <phases>40</phases>
    <transfCoolingtype>cba</transfCoolingtype>
    <operatetime>2012/4/23/12:30:00</operatetime>
  </powertransformer>
</powertransformers>";

            var xs = new XmlSerializer(typeof(Powertransformers));
            using (var reader = new StringReader(xml))
            {
                var result = xs.Deserialize(reader) as Powertransformers;
            }
            Console.ReadKey();
        }
    }
    [XmlRoot("powertransformers")]
    public class Powertransformers
    {
        public Powertransformers()
        {
            Powers = new List<Powertransformer>();
        }

        [XmlElement("powertransformer")]
        public List<Powertransformer> Powers { get; set; }

    }

    public class Powertransformer
    {
        [XmlElement]
        public String EPC { get; set; }
        [XmlElement]
        public String name { get; set; }
        [XmlElement]
        public String typename { get; set; }
        [XmlElement]
        public Int32 bmagSat { get; set; }
        [XmlElement]
        public Int32 magBaseKV { get; set; }
        [XmlElement]
        public Single magSatFlux { get; set; }
        [XmlElement]
        public Int32 phases { get; set; }
        [XmlElement]
        public String transfCoolingtype { get; set; }
        [XmlElement]
        public String operatetime { get; set; }

    }

这个。。。没看懂呀,貌似也运行不出来
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,