[英]Convert true and false to 1 and 0 in XmlElement in C#
我正在使用第三方的SOAP Web服務。 我已經使用XSD.exe
工具生成了對象。 問題是我需要發送要序列化的XmlElement
。 他們的服務拋出錯誤,因為它期望所有boolean
值都由1和0表示,而不是true和false。
我知道我可以使用這樣的自定義序列化程序: IXmlSerializable Interface或這樣: 使XmlSerializer輸出簡單類型的替代值,但是它們涉及我更改Xsd.exe
工具生成的代碼,並且每次都很難維護升級。
我是否缺少某些東西,或者還有另一種方式來實現我所尋找的?
您可以使對象忽略bool值,而是使用其他變量來顯示它。 例如:
[IgnoreDataMember, XmlIgnore]
public bool BoolProp { get; set; }
/// <summary>
/// XML serialized BoolProp
/// </summary>
[DataMember(Name = "BoolProp"]
[XmlElement(ElementName = "BoolProp"]
public int FormattedBoolProp
{
get {
return BoolProp ? 1 : 0;
}
set { BoolProp = value==1 }
}
這將使XML解析器忽略real屬性,而使用格式化函數。
如果不需要解析它,則可以刪除它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.