1

我正在使用 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 也会发生同样的情况。你认为可能是什么问题?

4

2 回答 2

0

我会说这是设计使然。限制不能将新的属性或元素或任何东西添加到基本类型。

于 2011-02-19T14:31:30.083 回答
0

我认为当您以 4.0 框架为目标时,xsd2code 如何处理 minOccus=0 可能存在问题。您能否暂时删除它并查看已序列化的内容?

似乎也可行的是针对 3.5 框架并包含 xml 属性。

于 2011-03-30T14:51:17.037 回答