XML Serialize booleanとして0-1
-
01-07-2019 - |
質問
XML Schema Part2を指定するインスタンスのデータ型として定義されたbooleanで、以下の法的リテラル{true,true,1,0}.以下のXML、例えば、直列化復元の安定をboolean property"エ"を true
.
<root>
<emulate>1</emulate>
</root>
しかし、serializeのオブジェクトにXMLを取得しま true
ではなく数値となります。私の質問があるので、この値表現のXML?
解決
実践できるIXmlSerializableできるようにするべき変更に直列化された出力クラスをします。これに伴うものを3つの方法GetSchema(),ReadXml(XmlReader r)とWriteXml(XmlWriterしていただきます。を遂行する場合は、インターフェイスにこれらのメソッド呼び出される代わりに。純うserializeのオブジェクトそのものです。
例ができるものと期待されます
http://www.developerfusion.co.uk/show/4639/ や
http://msdn.microsoft.com/en-us/library/system.xml.serialization.ixmlserializable.aspx
他のヒント
することができますを使用しXmlSerializer属性ブルース:
[XmlIgnore]
public bool MyValue { get; set; }
/// <summary>Get a value purely for serialization purposes</summary>
[XmlElement("MyValue")]
public string MyValueSerialize
{
get { return this.MyValue ? "1" : "0"; }
set { this.MyValue = XmlConvert.ToBoolean(value); }
}
も利用できますその他の属性を非表示この委員からの行頭に付ければ不快感を覚えるよ!なソリューションが可能であり、これまでのようにするよりも迅速に実施IXmlSerializable.
いいえ、使用しないデフォルトのシステム。形式をサポートしています。XmlSerializer:ま変更する必要のデータ型intその実現のために、またはmuckとを自分の直列化コードが可能になっています。
しかし、後工程は、生成されたXMLではなくもちろん、どちらかを使用XSLT、またはを使っているだけで文字列に代入します。少hackが迅速か、開発時や実行時間---