在XML模式中指定xs:decimal的小数位数

时间:2011-05-03 17:03:42

标签: .net xml-serialization wsdl xsd

  1. 有没有办法指定xs:decimal在XML架构中应该具有的小数位数?

  2. 有没有办法使用.NET的Xml***属性来控制它?

1 个答案:

答案 0 :(得分:3)

您可以创建一个扩展小数的自定义类型,并指定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")指定属性的数据类型,但遗憾的是,这仅支持内置数据类型。从我对源代码的阅读中,如果您包含自定义数据类型,您将获得例外。