Хотелось бы узнать лучший способ решения этой проблемы:
Я хотел бы создать пустой шаблон XML из схемы XML. Все необходимые элементы и атрибуты будут созданы, а их значения будут пустыми строками.
Следующий шаг - как определить, какие дочерние xml-узлы могут иметь определенные узлы. например. Я бы выбрал узел, имеющий minOccurs = "0", maxOccurs = "unbounded" для одного из его дочерних элементов. Я мог бы определить все об этом потомке, его атрибутах, его имени, типе значения и т. Д.
Чтобы получить больше информации о ситуации, я работаю над инструментом, который позволяет пользователям редактировать XML-файлы в более удобной для пользователя настройке. Например, они могут добавить новую учетную запись к узлу «account db», и они увидят, что единственным доступным узлом является узел учетной записи. Затем, когда они пытаются добавить дочерние элементы к узлу учетной записи, можно выбрать узел имени (обязательно), узел пароля (обязательно), узел настроек (необязательно) и т. Д. Как программно определить, какие дочерние элементы доступны узлу учетной записи это и какие атрибуты и настройки у этих детей?
Это в C # 2.0 с .NET 2.0.
Итак, какие классы я использую для чтения схемы и ее анализа для получения полезной информации для создания XML? По своей наивности я надеялся, что, поскольку xsd сам по себе является xml, будет какая-то модель DOM, через которую я смогу пройти.
Я бы хотел, чтобы это было ограничено моей программой, чтобы не использовать внешние инструменты, такие как OxygenXml, VS, xsd.exe и т. Д.