转换/忽略xsd代码生成中的speicified字段后缀

时间:2014-06-02 03:50:19

标签: 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 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;
    }
}

似乎为了将ID字段序列化,我需要将IDSpecified设置为true ...

XSD tool appends "Specified" to certain properties/fields when generating C# code

我想知道是否有办法禁用生成XXSpecified字段的选项,或者无论如何让Serializer忽略它。架构中有许多可选字段,我们不希望始终在那里设置值。

1 个答案:

答案 0 :(得分:0)

最后,我设法使用xsd2code解决了问题。有一个选项来控制我们是否需要生成指定的字段

截图:

enter image description here