В настоящее время я не знаю ни одного инструмента, который бы делал это надежно, к сожалению.
Был XSDObjectGen (или что-то в этом роде), но этот инструмент, похоже, исчез с лица киберпространства: - (
Я видел один подход, использующий XSDTidy для применения своего рода замены всех int [] в List поверх вывода инструмента XSD - кажется, сработало, но казалось немного неуклюжим.
Вот статья CodeProject по XSDTidy .
То, что я снова пытался найти, - это сообщение в блоге джентльмена, который в основном анализировал внутреннюю работу XSD в Reflector, а затем использовал полученные им знания для создания своего собственного инструмента, используя множество Основные классы .NET. Если я правильно помню, это был этот пост здесь («написание собственного xsd.exe») . Майк не совсем делает то, что вы ищете (создает список вместо массивов), но это может стать отправной точкой.
Марк