C#如何把XSD中HexBinary类型序列化uint类型
xml schema中定义ID节点, 类型为hexBinary。我们通过中间byte[] IDBinary转为uint ID, 实际使用中直接使用ID即可。
<xs:element name="ID">
<xs:simpleType>
<xs:restriction base="xs:hexBinary">
<xs:length value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:simpleType>
<xs:restriction base="xs:hexBinary">
<xs:length value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
[XmlIgnore()]
public uint ID
{
get;
set;
}
[XmlElement("ID", DataType = "hexBinary")]
public byte[] IDBinary
{
get
{
return BitConverter.GetBytes(ID).Reverse().ToArray();
}
set
{
ID = BitConverter.ToUInt32(value.Reverse().ToArray(), 0);
}
}
public uint ID
{
get;
set;
}
[XmlElement("ID", DataType = "hexBinary")]
public byte[] IDBinary
{
get
{
return BitConverter.GetBytes(ID).Reverse().ToArray();
}
set
{
ID = BitConverter.ToUInt32(value.Reverse().ToArray(), 0);
}
}
https://muzizongheng.blog.csdn.net/