#.net #xml-serialization #wsdl #xsd
#.net #xml-сериализация #wsdl #xsd
Вопрос:
-
Есть ли способ указать количество десятичных разрядов, которое
xs:decimal
должно быть в XML-схеме? -
Есть ли какой-либо способ контролировать это с помощью .
Xml***
Атрибуты NET?
Ответ №1:
Вы можете создать пользовательский тип, который расширяет десятичную дробь, и указать количество цифр в fractionDigits
следующим образом:
<xs:simpleType name="twoPlacesDecimal" id="twoPlacesDecimal">
<xs:restriction base="xs:decimal">
<xs:fractionDigits fixed="true" value="2" />
</xs:restriction>
</xs:simpleType>
Вы можете указать тип данных для свойства с помощью XmlAttribute(DataType = "value")
но, к сожалению, это поддерживает только встроенные типы данных. Из моего чтения источника, если вы включите пользовательский тип данных, вы получите исключение.
Комментарии:
1. В качестве дополнительного примечания: msdn.microsoft.com/en-us/library/ms733112 (v = против 90).aspx , msdn.microsoft.com/en-us/library/2d60kbz0 (v = против 100).aspx говорит об этом . NET игнорирует ограничение fractionDigits.