Xsd2Code省略了某些字段

时间:2011-02-19 12:32:21

标签: .net xml xsd xml-serialization xsd2code

我正在使用Xsd2Code从XML架构生成类。它适用于以下一些复杂类型:

<xs:complexType name="AsiguratB1Type">
        <xs:sequence>
            <xs:element name="asiguratB11" type="AsiguratB11Type" minOccurs="0" maxOccurs="10"/>
        </xs:sequence>
        <xs:attribute name="B1_1" type="typ:TipAsiguratSType" use="required"/>
        <xs:attribute name="B1_2" type="typ:FlagSType" use="required"/>
        <xs:attribute name="B1_3" type="typ:TipContractSType" use="required"/>
        <xs:attribute name="B1_4" type="typ:OreNormaZiSType" use="required"/>
        <xs:attribute name="B1_5" type="typ:Pozitiv15SType"/>
        <xs:attribute name="B1_6" type="typ:Pozitiv3SType"/>
        <xs:attribute name="B1_7" type="typ:Pozitiv3SType"/>
        <xs:attribute name="B1_8" type="typ:Pozitiv3SType"/>
        <xs:attribute name="B1_9" type="typ:Pozitiv2SType"/>
        <xs:attribute name="B1_10" type="typ:Pozitiv15SType"/>
        <xs:attribute name="B1_15" type="typ:Pozitiv2SType"/>
    </xs:complexType>

...而对于其他人(例如下面的例子),它只生成空白类(只有序列化例程,没有字段)。

<xs:complexType name="AngajatorAType">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="A_codOblig" type="typ:CodObligSType" use="required"/>
                <xs:attribute name="A_codBugetar" type="typ:CodBugetarSType" use="required"/>
                <xs:attribute name="A_datorat" type="typ:Pozitiv15SType" use="required"/>
                <xs:attribute name="A_deductibil" type="typ:Pozitiv15SType"/>
                <xs:attribute name="A_plata" type="typ:Pozitiv15SType" use="required"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>

VS2010工具集中的 xsd.exe 也会发生同样的情况。 您认为这可能是什么问题?

2 个答案:

答案 0 :(得分:0)

我说这是设计的。限制不能向基本类型添加NEW属性或元素或任何内容。

答案 1 :(得分:0)

我认为当你定位4.0框架时,xsd2code如何处理minOccus = 0可能存在问题。你能暂时删除它并查看序列化的内容吗?

似乎工作的目标是定位3.5框架并包含xml属性。