foreach($array as $key=>$value) {
// do stuff
}
$key
индекс каждого $array
элемент
Да, svcutil.exe
можно использовать в качестве замены xsd.exe
, но похоже, что у вас возникли проблемы с генерацией общих коллекций. svcutil.exe
имеет переключатель collectionType
, который позволяет вам чтобы указать тип, который будет использоваться для коллекции:
svcutil /o:Svc.cs /ct:System.Collections.Generic.List`1 http://example.com
Я тестировал те же команды на другой схеме, и получил аналогичные "нежелательные" результаты от svcutil. Таким образом, это может быть способ заставить его работать как xsd.exe, но пока все, что я видел, гораздо менее полезны.
Обновленный ответ: я обнаружил, что многие из этих универсальных массивов узлов xml были заменены строгими типами, когда принудительно включены все ссылочные XSD. В моем случае у меня есть много файлов xsd, на которые ссылаются друг друга, но svcutil, похоже, их не включает. Вместо этого мне пришлось сказать ему использовать * .xsd, чтобы получить их все.