指定XML架构中xs:decimal的小数位数


  1. 有没有一种方法可以指定xs:decimal在XML模式中应该具有的小数位数?

  2. 有什么方法可以控制使用。NET的Xml***属性?

您可以创建一个扩展十进制的自定义类型,并指定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")指定属性的数据类型,但遗憾的是,这只支持内置的数据类型。根据我对源代码的阅读,如果包含自定义数据类型,则会得到一个异常。

最新更新