У меня есть следующая схема:
<xs:element name="Company" type="xs:string" />
<xs:element name="Companhia" substitutionGroup="Company"/>
<xs:element name="Société" substitutionGroup="Company"/>
<xs:complexType name="User">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" ref="Company" />
</xs:sequence>
</xs:complexType>
Это позволяет мне успешно проверить следующие фрагменты XML:
<User>
<Company>In English</Company>
</User>
и
<User>
<Société>In French</Société>
</User>
I 'Я боюсь, что класс c #, сгенерированный xsd и соответствующим XMLSerializer, будет работать только с первым фрагментом XML.
По моему мнению, у меня есть 2 варианта:
- Использовать XSLT для обработкиXML-файл перед десериализацией, чтобы преобразовать имя элемента в английские.
- Написать собственный код десериализации.
Что вы думаете?Образцы будут высоко ценится.ТИА.