Основными причинами использования генераторов классов XSD является
- Получить проверку времени компиляции
- Более простой синтаксис, чем простой старый XML API
- Автозаполнение в вашей IDE.
Теперь сопоставьте это с PHP. PHP не имеет проверку времени компиляции и имеет поддержку динамических методов / свойств. Это аннулирует две основные причины, приведенные выше, и делает это без проблем, если вам действительно не нужно автоматическое завершение. Другими словами, есть причина использовать генератор классов XSD в PHP, и, вероятно, именно поэтому ни один из них не существует.
Я предлагаю использовать PHP Simple XML , который создает свойства для динамического соответствия XML во время выполнения. Если вы проверяете свой XML по файлу XSD, а затем создаете объект Simple XML, у вас есть структура вашего объекта XML, полная методов и свойств, без необходимости генерировать код. Совершенно хороший подход в PHP.
Обратите внимание, что я не утверждаю, что SimpleXML - это то же самое, что сгенерированные классы XSD, конечно, нет. . Но это довольно близко, использование и API-мудрый. Вы все равно делаете что-то вроде $company->employee[2]->firstname
в любом случае.