简体   繁体   English

无法使用xsd.exe命令将.xsd转换为.cs。 它生成空类

[英]Not able to convert .xsd to .cs using xsd.exe command. It generates empty class

I have following schema. 我有以下架构。 I am trying to convert it into a .cs file. 我正在尝试将其转换为.cs文件。 Is there any workaround. 有任何解决方法。 I have tried it using xsd.exe command from Visual Studio Command prompt. 我已经使用Visual Studio命令提示符下的xsd.exe命令尝试了它。

  <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="mfp:anaf:dgti:f3000:declaratie:v1" targetNamespace="mfp:anaf:dgti:f3000:declaratie:v1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.02" xml:lang="ro">
        <xs:element name="F3000" type="F3000Type"/>
        <xs:complexType name="F3000Type">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="inregistrare" type="InregistrareType" minOccurs="0" maxOccurs="300000"/>
                        <xs:element name="poolReport" type="PoolReportType" minOccurs="0" maxOccurs="300000"/>
                    </xs:sequence>
                    <xs:attribute name="luna" type="IntInt12_12SType" use="required"/>
                    <xs:attribute name="an" type="IntInt2014_2100SType" use="required"/>
                    <xs:attribute name="cui" type="CuiSType" use="required"/>
                    <xs:attribute name="giin" type="Str20"/>
                    <xs:attribute name="denumire" type="Str200" use="required"/>
                    <xs:attribute name="nume_declar" type="Str75" use="required"/>
                    <xs:attribute name="prenume_declar" type="Str75" use="required"/>
                    <xs:attribute name="functie_declar" type="Str75" use="required"/>
                    <xs:attribute name="totalPlata_A" type="IntPoz15SType" use="required"/>
                    <xs:attribute name="exista" type="IntPoz1SType"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="InregistrareType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="persoane" type="PersoaneType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="cont" type="ContType" minOccurs="0"/>
                        <xs:element name="sponsored" type="SponsoredType" minOccurs="0" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="d_rec1" type="IntInt1_2SType"/>
                    <xs:attribute name="id_inreg" type="IntPoz15SType" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="PersoaneType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="tin" type="TinType" maxOccurs="unbounded"/>
                        <xs:element name="rezidenta" type="RezidentaType" maxOccurs="unbounded"/>
                        <xs:element name="nationalitate" type="NationalitateType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="adresa" type="AdresaType" maxOccurs="unbounded"/>
                        <xs:element name="denumire" type="DenumireType" maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:attribute name="tip_declar" type="IntInt1_3SType" use="required"/>
                    <xs:attribute name="tip_ctr" type="Str_listaTipCtrSType"/>
                    <xs:attribute name="tip_pers" type="IntInt1_8SType"/>
                    <xs:attribute name="alt_tip_pers" type="Str50"/>
                    <xs:attribute name="tip_detinator_cont" type="Str_listaTipDetinatorSType"/>
                    <xs:attribute name="data_nastere" type="Str10"/>
                    <xs:attribute name="oras_nastere" type="Str100"/>
                    <xs:attribute name="sub_oras_nastere" type="Str100"/>
                    <xs:attribute name="cod_tara_nastere" type="IntPoz3SType"/>
                    <xs:attribute name="fost_nume_tara" type="Str100"/>
                    <xs:attribute name="cui_pers" type="CifSType"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="TinType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="tip_in" type="Str50"/>
                    <xs:attribute name="cod_tara" type="IntPoz3SType" use="required"/>
                    <xs:attribute name="identif" type="Str50" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="RezidentaType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="indiciu" type="IntInt1_4SType"/>
                    <xs:attribute name="detalii_indiciu" type="Str75"/>
                    <xs:attribute name="cod_tara_rez" type="IntPoz3SType" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="NationalitateType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="nationalitate" type="Str3" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="AdresaType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="tip_adresa" type="Str7"/>
                    <xs:attribute name="cod_tara_adresa" type="IntPoz3SType" use="required"/>
                    <xs:attribute name="adresa_free" type="Str200"/>
                    <xs:attribute name="strada" type="Str75"/>
                    <xs:attribute name="bloc" type="Str50"/>
                    <xs:attribute name="ap" type="Str50"/>
                    <xs:attribute name="etaj" type="Str50"/>
                    <xs:attribute name="nume_district" type="Str75"/>
                    <xs:attribute name="pob" type="Str10"/>
                    <xs:attribute name="cod_postal" type="Str10"/>
                    <xs:attribute name="oras" type="Str75" use="required"/>
                    <xs:attribute name="sub_tara" type="Str75" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="DenumireType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="titlu" type="TitluType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="generatie" type="GeneratieType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="sufix" type="SufixType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="mijl" type="MijlType" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:attribute name="tip_nume" type="Str7"/>
                    <xs:attribute name="gen" type="Str1"/>
                    <xs:attribute name="denumire" type="Str200"/>
                    <xs:attribute name="titlu_prec" type="Str75"/>
                    <xs:attribute name="suf_general" type="Str75"/>
                    <xs:attribute name="nume1" type="Str75"/>
                    <xs:attribute name="tip_nume1" type="Str50"/>
                    <xs:attribute name="nume2" type="Str75"/>
                    <xs:attribute name="tip_nume2" type="Str50"/>
                    <xs:attribute name="tip_prefix" type="Str75"/>
                    <xs:attribute name="prefix" type="Str75"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="TitluType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="titlu" type="Str75" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="GeneratieType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="identificator" type="Str75" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="SufixType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="suf" type="Str75" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="MijlType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="tip_nume_mij" type="Str75"/>
                    <xs:attribute name="nume_mij" type="Str75" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="ContType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="plati" type="PlatiType" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:attribute name="id_cont" type="Str30" use="required"/>
                    <xs:attribute name="tip_numar_cont" type="Str7" use="required"/>
                    <xs:attribute name="det_cont" type="Str75"/>
                    <xs:attribute name="swift" type="Str8"/>
                    <xs:attribute name="nr_cont" type="Str50" use="required"/>
                    <xs:attribute name="tip_cont" type="IntInt1_6SType" use="required"/>
                    <xs:attribute name="trat_cont" type="Str6"/>
                    <xs:attribute name="autocertificare" type="IntInt0_1SType" use="required"/>
                    <xs:attribute name="cont_inchis" type="IntInt0_1SType"/>
                    <xs:attribute name="cont_nedocumentat" type="IntInt0_1SType"/>
                    <xs:attribute name="cont_inactiv" type="IntInt0_1SType"/>
                    <xs:attribute name="valoare_sold" type="DblPoz15_2SType"/>
                    <xs:attribute name="data_sold" type="DateSType" use="required"/>
                    <xs:attribute name="moneda_sold" type="Str3" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="PlatiType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="tip_suma" type="IntInt1_7SType" use="required"/>
                    <xs:attribute name="detalii_plata" type="Str50"/>
                    <xs:attribute name="tax_rate" type="DblPoz2_2SType"/>
                    <xs:attribute name="suma" type="DblPoz15_2SType"/>
                    <xs:attribute name="data" type="DateSType" use="required"/>
                    <xs:attribute name="moneda_plata" type="Str3" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="SponsoredType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="rezidentaS" type="RezidentaSType" maxOccurs="unbounded"/>
                        <xs:element name="adresaS" type="AdresaType" maxOccurs="unbounded"/>
                        <xs:element name="denumireS" type="DenumireSType" maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:attribute name="tip_entitate" type="IntInt1_2SType" use="required"/>
                    <xs:attribute name="identif" type="Str50" use="required"/>
                    <xs:attribute name="cui" type="CuiSType"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="PoolReportType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence>
                        <xs:element name="sold" type="SoldType" maxOccurs="unbounded"/>
                        <xs:element name="sponsored" type="SponsoredType" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="d_rec1" type="IntInt1_2SType"/>
                    <xs:attribute name="id_inreg" type="IntPoz15SType" use="required"/>
                    <xs:attribute name="tip_detinator" type="Str8"/>
                    <xs:attribute name="nr_conturi" type="IntPoz15SType"/>
                    <xs:attribute name="balanta" type="DblPoz15_2SType"/>
                    <xs:attribute name="moneda" type="Str3"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="SoldType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="val_sold" type="DblPoz15_2SType" use="required"/>
                    <xs:attribute name="moneda_sold" type="Str3" use="required"/>
                    <xs:attribute name="data_sold" type="DateSType" use="required"/>
                    <xs:attribute name="tip_detalii" type="Str200"/>
                    <xs:attribute name="detalii" type="Str200"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="RezidentaSType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="cod_tara_rez" type="IntPoz3SType" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="DenumireSType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:attribute name="tip_nume" type="Str7"/>
                    <xs:attribute name="denumire" type="Str200" use="required"/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>
        <xs:simpleType name="IntInt12_12SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="12"/>
                <xs:maxInclusive value="12"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt2014_2100SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="2014"/>
                <xs:maxInclusive value="2100"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="CuiSType">
            <xs:restriction base="xs:token">
                <xs:pattern value="[1-9]\d{1,9}"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str20">
            <xs:restriction base="xs:string">
                <xs:maxLength value="20"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="CifSType">
            <xs:restriction base="xs:token">
                <xs:pattern value="[1-9]\d{12}|[1-9]\d{1,9}"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str25">
            <xs:restriction base="xs:string">
                <xs:maxLength value="25"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str200">
            <xs:restriction base="xs:string">
                <xs:maxLength value="200"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str75">
            <xs:restriction base="xs:string">
                <xs:maxLength value="75"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntPoz15SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="999999999999999"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntPoz3SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="999"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntPoz1SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="9"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt1_2SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="2"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt1_3SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="3"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str_listaTipCtrSType">
            <xs:restriction base="xs:string">
                <xs:maxLength value="256"/>
                <xs:enumeration value="CRS801"/>
                <xs:enumeration value="CRS802"/>
                <xs:enumeration value="CRS803"/>
                <xs:enumeration value="CRS804"/>
                <xs:enumeration value="CRS805"/>
                <xs:enumeration value="CRS806"/>
                <xs:enumeration value="CRS807"/>
                <xs:enumeration value="CRS808"/>
                <xs:enumeration value="CRS809"/>
                <xs:enumeration value="CRS810"/>
                <xs:enumeration value="CRS811"/>
                <xs:enumeration value="CRS812"/>
                <xs:enumeration value="CRS813"/>
                <xs:enumeration value="CRS819"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt1_8SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="8"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str50">
            <xs:restriction base="xs:string">
                <xs:maxLength value="50"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str_listaTipDetinatorSType">
            <xs:restriction base="xs:string">
                <xs:maxLength value="256"/>
                <xs:enumeration value="CRS101"/>
                <xs:enumeration value="CRS102"/>
                <xs:enumeration value="CRS103"/>
                <xs:enumeration value="FATCA101"/>
                <xs:enumeration value="FATCA102"/>
                <xs:enumeration value="FATCA103"/>
                <xs:enumeration value="FATCA104"/>
                <xs:enumeration value="FATCA105"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str10">
            <xs:restriction base="xs:string">
                <xs:maxLength value="10"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str100">
            <xs:restriction base="xs:string">
                <xs:maxLength value="100"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str2">
            <xs:restriction base="xs:string">
                <xs:maxLength value="2"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str3">
            <xs:restriction base="xs:string">
                <xs:maxLength value="3"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt1_4SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="4"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str7">
            <xs:restriction base="xs:string">
                <xs:maxLength value="7"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str1">
            <xs:restriction base="xs:string">
                <xs:maxLength value="1"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="Str8">
            <xs:restriction base="xs:string">
                <xs:maxLength value="8"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt1_7SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="7"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt1_6SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="6"/>
            </xs:restriction>
        </xs:simpleType>

        <xs:simpleType name="Str30">
            <xs:restriction base="xs:string">
                <xs:maxLength value="30"/>
            </xs:restriction>
        </xs:simpleType>

        <xs:simpleType name="Str6">
            <xs:restriction base="xs:string">
                <xs:maxLength value="6"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntInt0_1SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="1"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="DateSType">
            <xs:restriction base="xs:token">
                <xs:pattern value="([1-9]|0[1-9]|[12][0-9]|3[01])\.([1-9]|0[1-9]|1[012])\.\d{4}"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="DblPoz15_2SType">
            <xs:restriction base="xs:double">
                <xs:minInclusive value="0."/>
                <xs:pattern value="\d{0,15}(\.\d{0,2})?"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="DblPoz2_2SType">
            <xs:restriction base="xs:double">
                <xs:minInclusive value="0."/>
                <xs:pattern value="\d{0,2}(\.\d{0,2})?"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="IntPoz2SType">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="99"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:schema>

When I run xsd.exe command, it generates following empty class. 当我运行xsd.exe命令时,它将生成以下空类。

//--------------------------------------------------------------------------  
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System.Xml.Serialization;

// 
// This source code was auto-generated by xsd, Version=4.0.30319.17929.
// 


/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="mfp:anaf:dgti:f3000:declaratie:v1")]
[System.Xml.Serialization.XmlRootAttribute("F3000", Namespace="mfp:anaf:dgti:f3000:declaratie:v1", IsNullable=false)]
public partial class F3000Type {
}

For workaround, try Xsd2Code - free and available from CodePlex. 要解决此问题,请尝试Xsd2Code-免费,可从CodePlex获得。 Visual Studio Plugin to right-click on XSD and generate .cs file for it. Visual Studio插件以右键单击XSD并为其生成.cs文件。

Following elements were not letting xsd.exe generate complete .cs file. 以下元素不允许xsd.exe生成完整的.cs文件。

<xs:complexContent>
                <xs:restriction base="xs:anyType">
                  .
                  .
                  .
                </xs:restriction>
</xs:complexContent>

On removing these tags, it generated the output .cs file. 删除这些标记后,它生成了输出.cs文件。 I still do not understand why, but this helped. 我仍然不明白为什么,但这有所帮助。

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

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