来自xsd的.net代码 - 指定已创建属性的名称

时间:2012-03-01 15:37:46

标签: .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="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 标签 - 但我希望这是我的最后选择(因为我觉得我不是第一个遇到这个问题的人,因此必须有其他解决方案。

有什么建议吗?

0 个答案:

没有答案