Коллекция Elements представляет собой информационный набор после проверки схемы (PSVI), который охватывает только элементы, определенные на уровне схемы. Эта ссылка на MSDN говорит о PSVI.
Коллекция Items проходит предварительную проверку; это XmlSchemaObject s, определенные на уровне схемы; они в исходном порядке XML-схемы.
Что касается использования до и после проверки, это вопрос требований. Например, если вы хотите просмотреть определения в порядке «источника», то вы должны следовать не-PSVI; если все, что вам нужно, это попасть в информационный набор, PSVI - ваш лучший выбор; или если вам нужно обрабатывать схемы, которые загружаются, но не компилируются, то вы застряли с не-PSVI.
Если вы хотите, чтобы элементы были в исходном порядке, вы можете сделать это только через коллекцию Items.
Глобальные атрибуты (на уровне схемы) отображаются в разделе Атрибуты коллекция.
Все, что является глобальным, должно отображаться в коллекции Items, за исключением внешних ссылок (xsd: include, xsd: import и xsd: redefine), которые отображаются в Включает .
Если что-то, что определено на уровне схемы, не отображается в коллекции Items, это будет ошибкой. Я должен сказать, однако, что я никогда не видел этого раньше - пожалуйста, проверьте, что то, что вы ищете, действительно определено как дочерний элемент элемента xsd: schema.