首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xsd2code SimpleContent不工作

Xsd2code SimpleContent不工作
EN

Stack Overflow用户
提问于 2013-12-21 22:52:39
回答 1查看 573关注 0票数 1

到目前为止,一切都很顺利,但是当我尝试使用xsd时,出现了错误。我有一个简单的例子:

代码语言:javascript
复制
<simpleType name="waluta_type">
    <restriction base="token">
        <enumeration value="PLN"/>
        <enumeration value="EUR"/>
        <enumeration value="GBP"/>
        <enumeration value="USD"/>
    </restriction>

代码语言:javascript
复制
<complexType name="cena_type">
    <simpleContent>
        <extension base="double">
            <attribute name="waluta" type="moja:waluta_type" use="required"/>
        </extension>
    </simpleContent> 
</complexType>

xsd2code不为waluta生成属性:

代码语言:javascript
复制
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example/MS/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://example/MS/", IsNullable = true)]
public partial class cena_type : EntityBase<cena_type>
{

    [EditorBrowsable(EditorBrowsableState.Never)]
    private double valueField;

    [System.Xml.Serialization.XmlTextAttribute()]
    public double Value { get; set; }


    [System.Xml.Serialization.XmlAttributeAttribute()]
    public waluta_type waluta
    {
        get
        {
            return this.walutaField;
        }
        set
        {
            this.walutaField = value;
        }
    }
}

我收到并错误地说...不包含“”walutaField“”的定义,并且找不到接受“”ConsoleApplication1.cena_type“”类型的第一个参数的扩展方法“”walutaField“”(是否缺少using指令或程序集引用?)“有没有人遇到了同样的问题,可以给我一个提示?

EN

回答 1

Stack Overflow用户

发布于 2015-02-18 03:23:16

为了生成类,将定义添加到现有的xsd中,我做了一些更改,我得到了以下代码:

代码语言:javascript
复制
   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.sii.cl/SiiDte")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.sii.cl/SiiDte", IsNullable=true)]
public partial class cena_type
{

    [EditorBrowsable(EditorBrowsableState.Never)]
    private waluta_type walutaField;

    [EditorBrowsable(EditorBrowsableState.Never)]
    private string valueField;

    [System.Xml.Serialization.XmlAttributeAttribute()]
    public waluta_type waluta
    {
        get
        {
            return this.walutaField;
        }
        set
        {
            this.walutaField = value;
        }
    }

    [System.Xml.Serialization.XmlTextAttribute()]
    public string Value
    {
        get
        {
            return this.valueField;
        }
        set
        {
            this.valueField = value;
        }
    }
}

我已经使用了这个定义:

代码语言:javascript
复制
 <xs:simpleType name="waluta_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PLN"/>
      <xs:enumeration value="EUR"/>
      <xs:enumeration value="GBP"/>
      <xs:enumeration value="USD"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="cena_type">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="waluta" type="ns1:waluta_type" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

那么,xsd2code的版本是什么呢?我用的是较新的。

代码语言:javascript
复制
<NameSpace>FacturasOnline.FacadeDTE</NameSpace><Collection>List</Collection><codeType>CSharp</codeType><EnableDataBinding>False</EnableDataBinding><GenerateCloneMethod>False</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><DataMemberNameArg>OnlyIfDifferent</DataMemberNameArg><DataMemberOnXmlIgnore>False</DataMemberOnXmlIgnore><CodeBaseTag>Net45</CodeBaseTag><InitializeFields>All</InitializeFields><GenerateUnusedComplexTypes>True</GenerateUnusedComplexTypes><GenerateUnusedSimpleTypes>True</GenerateUnusedSimpleTypes><GenerateXMLAttributes>True</GenerateXMLAttributes><OrderXMLAttrib>False</OrderXMLAttrib><EnableLazyLoading>False</EnableLazyLoading><VirtualProp>False</VirtualProp><PascalCase>False</PascalCase><AutomaticProperties>False</AutomaticProperties><PropNameSpecified>Default</PropNameSpecified><PrivateFieldName>EndWithField</PrivateFieldName><PrivateFieldNamePrefix></PrivateFieldNamePrefix><EnableRestriction>False</EnableRestriction><RestrictionMaxLenght>False</RestrictionMaxLenght><RestrictionRegEx>False</RestrictionRegEx><RestrictionRange>False</RestrictionRange><ValidateProperty>False</ValidateProperty><ClassNamePrefix></ClassNamePrefix><TrackingChangesEnable>False</TrackingChangesEnable><GenTrackingClasses>False</GenTrackingClasses><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>False</EnableSummaryComment><EnableExternalSchemasCache>False</EnableExternalSchemasCache><EnableDebug>False</EnableDebug><EnableWarn>False</EnableWarn><ExcludeImportedTypes>False</ExcludeImportedTypes><ExpandNesteadAttributeGroup>False</ExpandNesteadAttributeGroup><CleanupCode>False</CleanupCode><EnableXmlSerialization>False</EnableXmlSerialization><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><EnableEncoding>False</EnableEncoding><EnableXMLIndent>False</EnableXMLIndent><Encoder>UTF8</Encoder><Serializer>XmlSerializer</Serializer><GenerateShouldSerialize>False</GenerateShouldSerialize><BaseClassName>EntityBase</BaseClassName><UseBaseClass>False</UseBaseClass><GenBaseClass>False</GenBaseClass><CustomUsings></CustomUsings>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20720211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档