xsd中的.net代码-指定所创建属性的名称
我有以下xsd:xsd中的.net代码-指定所创建属性的名称,.net,xml,xsd,xsd.exe,.net,Xml,Xsd,Xsd.exe,我有以下xsd: <xs:element name="Person" type="PersonType"> <xs:annotation> <xs:documentation> This will be my person class</xs:documentation> </xs:annotation> </xs:element> <xs:complexType name="P
<xs:element name="Person" type="PersonType">
<xs:annotation>
<xs:documentation> This will be my person class</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="PersonType">
<xs:all>
<xs:element ref="id" minOccurs="1" >
<xs:annotation>
<xs:appinfo>
<property name="PersonID"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element ref="description" minOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:element name="id" type="char40"/>
<xs:element name="description" type="char255"/>
<xs:simpleType name="char40">
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="char255">
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
这将是我的个人课
我正在基于这个xsd生成一个.net类(现在使用xsd.exe)
生成的Person类将有一个名为id的属性,但我希望该属性名为PersonID
我无法更改xml标记的名称,因为我使用xsd作为通信契约,并且标记是固定的
然而,我希望对生成的代码的外观有更多的控制。
我的选择是什么?
目前唯一有效的选择似乎是编写我自己的代码生成器,根据我的需要处理appinfo标记——但我希望这是我的最后一个选择(因为我觉得我不是第一个遇到这个问题的人,所以肯定还有其他解决方案)
有什么建议吗?(1)看看哪个比xsd.exe更灵活。(2)考虑继承自动生成的类并根据您的需要公开新的属性。