繁体   English   中英

通过xsd.exe将XML反序列化为生成的类

[英]Deserialize XML to generated class by xsd.exe

我使用xsd.exe生成了类,我有40多个类:

链接: https//www.pastiebin.com/5cc3253981ff6

现在我想只反序列化adres这是我的解串器:

 XmlSerializer serializer = new XmlSerializer(typeof(Adres));
 using (StringReader reader = new StringReader(xmlDocumentText))
 {
     Adres info = (Adres)(serializer.Deserialize(reader));
 }

但我收到错误There is an error in XML document (1, 40)

下面只是XML的一部分(整个需要15MB):

https://www.pastiebin.com/5cc325c457a55

您的代码应如下所示

            XmlSerializer serializer = new XmlSerializer(typeof(DomainClass.wpisyWpis));
            using (StringReader reader = new StringReader(xmlDocumentText))
            {
                DomainClass.wpisyWpis info = (DomainClass.wpisyWpis)(serializer.Deserialize(reader));
            }

您还需要在此类上方添加XmlRoot:

        /// <remarks/>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
        [System.SerializableAttribute()]
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.ComponentModel.DesignerCategoryAttribute("code")]
        [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
        [XmlRoot("wpis")]
        public partial class wpisyWpis
        {

            private Dokument dokumentField;

            /// <remarks/>
            [System.Xml.Serialization.XmlElementAttribute(Namespace = "http://asseco.pl/xml/rpm/ksiegaPraktyka/2011/04/08/")]
            public Dokument Dokument
            {
                get
                {
                    return this.dokumentField;
                }
                set
                {
                    this.dokumentField = value;
                }
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM