我有一个使用枚举的XML模式,但是当我在Delphi中查看生成的XML对象时,枚举限制已被删除.有没有办法让Delphi生成枚举并将其构建到对象中?
XSD代码段:
<xs:simpleType name="enumType" final="restriction">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Each"/>
<xs:enumeration value="Units"/>
<xs:enumeration value="Area"/>
<xs:enumeration value="Payroll"/>
<xs:enumeration value="Sales"/>
<xs:enumeration value="TotalCost"/>
<xs:enumeration value="Other"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
我期望在Delphi中看到的是一个接受枚举的字段,然后在生成XML时将其转换为相应的字符串,但该字段只是一个普通的字符串.
你可以做的是使用与名称相同的字符串常量创建自己的枚举类型,并使用单元TypInfo和函数GetEnumValue和GetEnumString.这允许您使用几个小写字母为名称添加前缀,就像在其他Delphi代码中一样:
Value := TMyEnum( GetEnumValue( typeinfo( TMyEnum ), Prefix + AString ) )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |