C# 在xsd代码生成中打开/忽略特定字段后缀

C# 在xsd代码生成中打开/忽略特定字段后缀,c#,.net,xml,serialization,xsd,C#,.net,Xml,Serialization,Xsd,我在使用模式生成代码时遇到问题 <xs:complexType name="SampleComplexType"> <xs:sequence> <xs:element minOccurs="0" name="ID" type="xs:int"/> complexType中有一些可为空的字段,例如ID,在我运行模式生成(我们在公司中使用xsd)之后,我得到以下代码 public partial class SampleComplexTyp

我在使用模式生成代码时遇到问题

<xs:complexType name="SampleComplexType">
   <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="xs:int"/>

complexType中有一些可为空的字段,例如ID,在我运行模式生成(我们在公司中使用xsd)之后,我得到以下代码

public partial class SampleComplexType
{

    private int idField;

    private bool idFieldSpecified;

[System.Xml.Serialization.XmlElementAttribute(Order=0)]
public int ID
{
    get
    {
        return this.idField;
    }
    set
    {
        this.idField = value;
    }
}

/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool IDSpecified
{
    get
    {
        return this.idFieldSpecified;
    }
    set
    {
        this.idFieldSpecified = value;
    }
}
public分部类SampleComplexType
{
私人国际机场;
指定的专用bool IDFIELD;
[System.Xml.Serialization.XmlElementAttribute(顺序=0)]
公共整数ID
{
得到
{
返回此.idField;
}
设置
{
this.idField=值;
}
}
/// 
[System.Xml.Serialization.XmlIgnoreAttribute()]
指定的公共布尔值
{
得到
{
返回此.idFieldSpecified;
}
设置
{
this.idFieldSpecified=值;
}
}
似乎为了序列化ID字段,我需要将IDSpecified设置为true


我想知道是否有办法禁用生成指定字段的选项,或者让序列化程序忽略该选项。架构中有许多可选字段,我们不希望总是在那里设置值。

最后,我使用xsd2code解决了这个问题。有一个选项可以控制我们是否需要执行此操作是否对指定字段进行评级

截图:


我也有同样的问题。我恳请您详细说明如何使用xsd2code解决问题。当您使用UI生成该问题时,会有一个选项调用GeneratePropertyNameSpecified,如果您将其设置为None,则不会生成PrefixThanks。找到了。如果您可以在答案中添加一个屏幕截图,可能会有所帮助。它可能会帮助人们节省时间再次在工具中搜索它。