С C # 3.0 и System.Data.DataSetExtensions.dll,
List<DataRow> rows = table.Rows.Cast<DataRow>().ToList();
Вы можете заставить JAXB / XJC повторно использовать существующие классы, используя настройку jaxb:class/@ref
. Нечто подобное:
<jaxb:class ref="com.acme.foo.Apple"/>
Где com.acme.foo.Apple
- FQCN одного из сгенерированных Apple
классов. Свяжите это с двумя другими xs:complexType
и JAXB будет повторно использовать существующий класс вместо генерации того же самого снова.
У меня нет большого опыта в настройке WSDL, поэтому, к сожалению, я не могу указать вам точный синтаксис привязки в этом случае.