Visual Studio:用整数生成xsd问题的代码
本文关键字:xsd 问题 代码 Studio 整数 Visual | 更新日期: 2023-09-27 18:13:29
谁能告诉我,为什么xsd中的整数元素在字符串字段中被转换?
<xs:element name="OwnerID" type="xs:integer"/>
到
[System.Xml.Serialization.XmlElementAttribute(DataType = "integer")]
public string OwnerID
{
get
{
return this.ownerIDField;
}
set
{
this.ownerIDField = value;
}
}
我的第一个假设是所有字段都是由真实数据类型属性的字符串,这是不正确的-日期被解释为日期,bool被解释为bool -整数有什么问题?
提前感谢!
你需要这样做:
<xs:element name="OwnerID" >
<xs:simpleType>
<xs:restriction base="xs:int" />
</xs:simpleType>
</xs:element>
sq33G的答案是正确的,但我想补充的是,您的原始XSD元素
的原因<xs:element name="OwnerID" type="xs:integer"/>
被转换为字符串是因为根据W3C数字数据类型,xs: integer表示任何整数值。由于不局限于32位或64位的数字,并且c#中没有可以处理无界整数的数字数据类型,因此反序列化器选择了字符串类型,因为它是唯一可以安全处理该值的类型。