Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么一些XML标记没有被反序列化_C#_Xml_Serialization_Xsd2code - Fatal编程技术网

C# 为什么一些XML标记没有被反序列化

C# 为什么一些XML标记没有被反序列化,c#,xml,serialization,xsd2code,C#,Xml,Serialization,Xsd2code,我使用外部提供的XSD使用XSD2代码生成C#代码库。反序列化XML时,除了BeperkingAlgemeen标记外,每个“修补”和“产品”都会被加载。我不知道如何操作生成的代码,以便在序列化XML时包含BeperkingAlgemeen 让我惊讶的是,重复的BePerkingeneAlgemeen标记周围没有“列表/集合”标记 没有错误。结果Vergunningen.Any(v=>v.beperkingengalgemeen.Any())不会产生任何结果 Xsd: Xml 有多个问题,但

我使用外部提供的XSD使用XSD2代码生成C#代码库。反序列化XML时,除了BeperkingAlgemeen标记外,每个“修补”和“产品”都会被加载。我不知道如何操作生成的代码,以便在序列化XML时包含BeperkingAlgemeen


让我惊讶的是,重复的BePerkingeneAlgemeen标记周围没有“列表/集合”标记

没有错误。结果Vergunningen.Any(v=>v.beperkingengalgemeen.Any())不会产生任何结果

Xsd:


Xml



有多个问题,但最具体的问题是:

  • 删除所有
    顺序=…
    位;他们错了,正在破坏它
  • xsd和xml不一致;听起来xml应该是
  • 名称空间不清楚,并且缺少根元素
但是;这项工作:

使用System.Collections.Generic;
使用System.IO;
使用System.Xml.Serialization;
静态P类
{
静态void Main()
{
var ser=新的XmlSerializer(typeof(Vergunningen));
var v=(Vergunningen)ser.反序列化(新的StringReader(xml));
系统控制台写入线(v.Vergunning.vergunningnumer);
系统控制台写入线(v.Vergunning.PDCs.Count);
系统控制台写入线(v.Vergunning.beperkingengalgemeen.Count);
}
常量字符串xml=@“
多雷波姆
在krediet的Met消费组合中,使用Met BETREKING TO inkomensverzekeringen是非常必要的
在krediet的Met消费组合中,使用Met BETREKING TO inkomensverzekeringen是非常必要的
Met Betreking tot inkomensverzekeringen与Met抵押贷款公司合并后,将被视为金融机构的一员
Met betrekking tot inkomensverzekeringen在与Met vermogen合并的过程中,被视为是一家金融服务公司或Betalingsbechermers(超大型、arbeidsongeschiktheids-en werkloosheidsverzekeringen)的合作伙伴
与schadeverzekeringen分析员合作的Met适用于Boedelverzekeringen的金融监管部门,并与Met假设饮食相结合。
";
}
公共级维古宁根酒店
{
公共修补修补{get;set;}
}
公共类产品{}
[System.CodeDom.Compiler.GeneratedCodeAttribute(“Xsd2Code”,“4.2.0.31”)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
//[System.Xml.Serialization.XmlTypeAttribute(命名空间=”http://www.afm.nl/WfdExternRegister/Export/3.0")]
公共部分类修补
{
私人名单;
私人名单;
私有字符串\u vergunningnumer;
私有系统。可空_startDatum;
私有系统。可为空的eindDatum;
[System.Xml.Serialization.XmlArrayAttribute(IsNullable=true)]
公开列表PDC
{
得到
{
把这个还给我;
}
设置
{
这是._pDCs=值;
}
}
[System.Xml.Serialization.XmlElementAttribute(“BePerkingeAlgeMeeneAlgeMeen”)]
公开名单
{
得到
{
把这个还给我;
}
设置
{
这个。_beperkingelemeen=值;
}
}
[System.Xml.Serialization.XmlAttributeAttribute()]
公共字符串vergunningnumer
{
得到
{
把这个还给我;
}
设置
{
这是。_vergunningnumer=值;
}
}
[System.Xml.Serialization.XmlAttributeAttribute(DataType=“date”)]
public System.DateTime StartDatum
{
得到
{
如果(这个值)
{
返回此值。\u startDatum.Value;
}
其他的
{
返回默认值(System.DateTime);
}
}
设置
{
这是。_startDatum=值;
}
}
[System.Xml.Serialization.XmlIgnoreAttribute()]
指定的公共bool startDatum
{
得到
{
返回此。\u startDatum.HasValue;
}
设置
{
如果(值==false)
{
这是。_startDatum=null;
}
}
}
[System.Xml.Serialization.XmlAttributeAttribute(DataType=“date”)]
公共System.DateTime EindDatum
{
得到
{
如果(此.\u eindDatum.HasValue)
{
返回此值。\u eindDatum.Value;
}
其他的
{
返回默认值(System.DateTime);
}
}
设置
{
此值为.\u eindDatum=值;
}
}
[System.Xml.Serialization.XmlIgnoreAttribute()]
指定了公共bool eInddatum
{
得到
{
返回此值。\u eindDatum.HasValue;
}
设置
{
如果(值==false)
<xs:complexType name="Vergunning">
<xs:sequence>
  <xs:element name="PDCs" nillable="true" minOccurs="0" maxOccurs="1">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Product" nillable="true" minOccurs="0" maxOccurs="unbounded" type="Product">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BeperkingenAlgemeenenAlgemeen" type="BeperkingenAlgemeen" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Vergunningnummer" type="xs:string" use="required" />
<xs:attribute name="StartDatum" type="xs:date" use="optional" />
<xs:attribute name="EindDatum" type="xs:date" use="optional" />  </xs:complexType>
      <Vergunningen>
    <Vergunning Vergunningnummer="12045521" StartDatum="2018-03-16">
      <PDCs>
        <Product ProductID="9ae90fa7-b276-e311-95d7-005056be011c" Omschrijving="Vermogen">
          <Dienst DienstID="fba1bc4a-e3fa-df11-bb5a-005056be6692" Omschrijving="Adviseren" StartDatum="2018-03-16" />
          <Dienst DienstID="faa1bc4a-e3fa-df11-bb5a-005056be6692" Omschrijving="Bemiddelen" StartDatum="2018-03-16" />
        </Product>
        <Product ProductID="fb84d39b-b276-e311-894a-005056be011d" Omschrijving="Schadeverzekeringen particulier">
          <Dienst DienstID="fba1bc4a-e3fa-df11-bb5a-005056be6692" Omschrijving="Adviseren" StartDatum="2018-03-16" />
          <Dienst DienstID="faa1bc4a-e3fa-df11-bb5a-005056be6692" Omschrijving="Bemiddelen" StartDatum="2018-03-16" />
        </Product>     
      </PDCs>
      <Beleidsbepalers>
        <Beleidsbepaler>
          <Initialen />
          <Tussenvoegsels />
          <Achternaam>Dorreboom</Achternaam>
          <MeisjesNaam />
          <MeisjesTussenvoegsels />
        </Beleidsbepaler>
      </Beleidsbepalers>
      <BeperkingenAlgemeen BeperkingID="FB60" StartDatum="1900-01-01">
        <Omschrijving>Met betrekking tot inkomensverzekeringen is het uitsluitend toegestaan de financiële dienst te verrichten voor betalingsbeschermers (overlijdensrisico-, arbeidsongeschiktheids- en werkloosheidsverzekeringen) in combinatie met consumptief krediet</Omschrijving>
      </BeperkingenAlgemeen>
      <BeperkingenAlgemeen BeperkingID="FB60" StartDatum="2018-03-16">
        <Omschrijving>Met betrekking tot inkomensverzekeringen is het uitsluitend toegestaan de financiële dienst te verrichten voor betalingsbeschermers (overlijdensrisico-, arbeidsongeschiktheids- en werkloosheidsverzekeringen) in combinatie met consumptief krediet</Omschrijving>
      </BeperkingenAlgemeen>
      <BeperkingenAlgemeen BeperkingID="FB61" StartDatum="2018-03-16">
        <Omschrijving>Met betrekking tot inkomensverzekeringen is het uitsluitend toegestaan de financiële dienst te verrichten voor betalingsbeschermers (overlijdensrisico-, arbeidsongeschiktheids- en werkloosheidsverzekeringen) in combinatie met hypothecair krediet</Omschrijving>
      </BeperkingenAlgemeen>
      <BeperkingenAlgemeen BeperkingID="FB62" StartDatum="2018-03-16">
        <Omschrijving>Met betrekking tot inkomensverzekeringen is het uitsluitend toegestaan de financiële dienst te verrichten voor betalingsbeschermers (overlijdensrisico-, arbeidsongeschiktheids- en werkloosheidsverzekeringen) in combinatie met vermogen</Omschrijving>
      </BeperkingenAlgemeen>
      <BeperkingenAlgemeen BeperkingID="FB46" StartDatum="2018-03-16">
        <Omschrijving>Met betrekking tot schadeverzekeringen particulier is het uitsluitend toegestaan de financiële dienst te verrichten voor opstal- en inboedelverzekeringen in combinatie met hypothecair krediet.</Omschrijving>
      </BeperkingenAlgemeen>
    </Vergunning>
  </Vergunningen>
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "4.2.0.31")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.afm.nl/WfdExternRegister/Export/3.0")]
    public partial class Vergunning
    {

        private List<Product> _pDCs;

        private List<Beperking> _beperkingenAlgemeen;

        private string _vergunningnummer;

        private System.Nullable<System.DateTime> _startDatum;

        private System.Nullable<System.DateTime> _eindDatum;

        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true, Order=0)]
        public List<Product> PDCs
        {
            get
            {
                return this._pDCs;
            }
            set
            {
                this._pDCs = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute("BeperkingenAlgemeenenAlgemeen", Order=1)]
        public List<Beperking> BeperkingenAlgemeen
        {
            get
            {
                return this._beperkingenAlgemeen;
            }
            set
            {
                this._beperkingenAlgemeen = value;
            }
        }

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Vergunningnummer
        {
            get
            {
                return this._vergunningnummer;
            }
            set
            {
                this._vergunningnummer = value;
            }
        }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime StartDatum
        {
            get
            {
                if (this._startDatum.HasValue)
                {
                    return this._startDatum.Value;
                }
                else
                {
                    return default(System.DateTime);
                }
            }
            set
            {
                this._startDatum = value;
            }
        }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StartDatumSpecified
        {
            get
            {
                return this._startDatum.HasValue;
            }
            set
            {
                if (value==false)
                {
                    this._startDatum = null;
                }
            }
        }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EindDatum
        {
            get
            {
                if (this._eindDatum.HasValue)
                {
                    return this._eindDatum.Value;
                }
                else
                {
                    return default(System.DateTime);
                }
            }
            set
            {
                this._eindDatum = value;
            }
        }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EindDatumSpecified
        {
            get
            {
                return this._eindDatum.HasValue;
            }
            set
            {
                if (value==false)
                {
                    this._eindDatum = null;
                }
            }
        }
    }
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "4.2.0.31")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.afm.nl/WfdExternRegister/Export/3.0")]
public partial class Beperking
{

    private string _omschrijving;

    private string _beperkingID;

    private System.DateTime _startDatum;

    private System.Nullable<System.DateTime> _eindDatum;

    [System.Xml.Serialization.XmlElementAttribute(Order=0)]
    public string Omschrijving
    {
        get
        {
            return this._omschrijving;
        }
        set
        {
            this._omschrijving = value;
        }
    }

    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string BeperkingID
    {
        get
        {
            return this._beperkingID;
        }
        set
        {
            this._beperkingID = value;
        }
    }

    [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
    public System.DateTime StartDatum
    {
        get
        {
            return this._startDatum;
        }
        set
        {
            this._startDatum = value;
        }
    }

    [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
    public System.DateTime EindDatum
    {
        get
        {
            if (this._eindDatum.HasValue)
            {
                return this._eindDatum.Value;
            }
            else
            {
                return default(System.DateTime);
            }
        }
        set
        {
            this._eindDatum = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool EindDatumSpecified
    {
        get
        {
            return this._eindDatum.HasValue;
        }
        set
        {
            if (value==false)
            {
                this._eindDatum = null;
            }
        }
    }
}