XmlSerializer 未将指定属性设置为 true

XmlSerializer is not Setting Specified Attribute to true

使用 VS 2013。
我们正在通过 Web Reference 使用一些 wsdl 并获取 ws.
的所有 类 我们为 ws hierarchy 属性设置了值,但该属性未序列化。
我看到 here 属性未序列化的原因之一是:
"it has a public bool FooSpecified {get;set;} property or field that returned false."
因此,如果我们设置 hierarchy 属性,它不会在 XML:

中表示
familyInformation = new amadeus.Fare_SellByFareSearchFareFamiliesFamilyInformation
                   {
                      fareFamilyname = "XXXX",
                      hierarchy = 2
                   }



public decimal hierarchy {
        get {
            return this.hierarchyField;
        }
        set {
            this.hierarchyField = value;
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool hierarchySpecified {
        get {
            return this.hierarchyFieldSpecified;
        }
        set {
            this.hierarchyFieldSpecified = value;
        }
    }

<familyInformation>
  <fareFamilyname>XXXX</fareFamilyname>
</familyInformation>

Please help how to get the hierarchy attribute serialized

您需要将 hierarchyhierarchySpecified 都设置为 truehierarchy 在模式中声明为可选属性,因此引入 hierarchySpecified 让序列化程序知道您是否想在 XML 或不(使用 truefalse 值)。