How about something like:
public class MyClass
{
private uint? _myValue;
[XmlIgnore]
public uint MyValue
{
get{ return _myValue ?? checkValue(MyValueString); }
set{ _myValue = value; }
}
[XmlElement("MyValue")]
public string MyValueString
{
//checkValue method checks if myValue is a decimal or hex and number (returns an uint value).
get; set;
}
}